网站菜单导航,wordpress网站服务器,品牌建设与营销管理,做网站600Day13-Linux系统用户管理知识精讲2 1. passwd 给用户设置密码2. chpasswd 批量设置密码3. chage 查看和更改密码属性 更改用户密码过期信息4. 用户组相关的命令了解 1. passwd 给用户设置密码
用户自己给自己设置密码直接passwd
root用户给普通用户设置密码passwd 用户名。
… Day13-Linux系统用户管理知识精讲2 1. passwd 给用户设置密码2. chpasswd 批量设置密码3. chage 查看和更改密码属性 更改用户密码过期信息4. 用户组相关的命令了解 1. passwd 给用户设置密码
用户自己给自己设置密码直接passwd
root用户给普通用户设置密码passwd 用户名。
–stdin 从标准输入获取信息
[rootoldboy ~]# echo 123456|passwd --stdin oldboy
更改用户 oldboy 的密码 。
passwd所有的身份验证令牌已经成功更新。2. chpasswd 批量设置密码
bash脚本
for n in {01..10}
douseradd oldboy$n
done把用户和密码用冒号分割然后放入文件里。
[rootoldboy ~]# vim user.list
oldboy01:01
oldboy02:02
oldboy03:03
oldboy04:04
oldboy05:05批量设置密码命令
chpasswd user.list #不好用。
cat user.list|chpasswd #好用
su - oldboy02然后在切入到其他用户测试。
扩展技术后期细讲此处可忽略
批量【生成】用户名和密码文件列表
[rootoldboy ~]# seq -w 10|sed -rn s#(.*)#oldboy\1:\1#gp user.list
[rootoldboy ~]# cat user.list
oldboy01:01
oldboy02:02
oldboy03:03
oldboy04:04
oldboy05:05
oldboy06:06
oldboy07:07
oldboy08:08
oldboy09:09
oldboy10:10批量【设置】用户和密码列表
[rootoldboy ~]# seq -w 10|sed -rn s#(.*)#useradd oldboy\1;echo \1|passwd --stdin oldboy\1#gp
useradd oldboy01;echo 01|passwd --stdin oldboy01
useradd oldboy02;echo 02|passwd --stdin oldboy02
useradd oldboy03;echo 03|passwd --stdin oldboy03
useradd oldboy04;echo 04|passwd --stdin oldboy04
useradd oldboy05;echo 05|passwd --stdin oldboy05
useradd oldboy06;echo 06|passwd --stdin oldboy06
useradd oldboy07;echo 07|passwd --stdin oldboy07
useradd oldboy08;echo 08|passwd --stdin oldboy08
useradd oldboy09;echo 09|passwd --stdin oldboy09
useradd oldboy10;echo 10|passwd --stdin oldboy10
[rootoldboy ~]# seq -w 10|sed -rn s#(.*)#useradd oldboy\1;echo \1|passwd --stdin oldboy\1#gp|bash通过nodepad批量生成用户名
按住ALT然后将光标第1行拉倒第10行然后输入oldboy,
然后按住altc设置生成数字序列
oldboy1 oldboy2 oldboy3 oldboy4 oldboy5 oldboy6 oldboy7 oldboy8 oldboy9
3. chage 查看和更改密码属性 更改用户密码过期信息
-l 查看用户和更改密码属性
[rootoldboy ~]# chage -l oldboy
最近一次密码修改时间 6月 30, 2030
密码过期时间 从不
密码失效时间 从不
帐户过期时间 从不
两次改变密码之间相距的最小天数 0
两次改变密码之间相距的最大天数 99999
在密码过期之前警告的天数 7-e “” 设定账户过期时间。
useradd -e “2040/5/20” oldboy11
[rootoldboy ~]# useradd -e 2040/5/20 oldboy11
useradd警告此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
正在创建信箱文件: 文件已存在
[rootoldboy ~]# chage -l oldboy11
最近一次密码修改时间 6月 30, 2030
密码过期时间 从不
密码失效时间 从不
帐户过期时间 5月 20, 2040 账户过期时间
两次改变密码之间相距的最小天数 0
两次改变密码之间相距的最大天数 99999
在密码过期之前警告的天数 7chage -E “2041/6/30” oldboy11
[rootoldboy ~]# chage -E 2041/6/30 oldboy11
[rootoldboy ~]# chage -l oldboy11
最近一次密码修改时间 6月 30, 2030
密码过期时间 从不
密码失效时间 从不
帐户过期时间 6月 30, 2041
两次改变密码之间相距的最小天数 0
两次改变密码之间相距的最大天数 99999
在密码过期之前警告的天数 7useradd -e和chage -E是一样的。
范例要求oldgirl用户7天内不能更改密码60天以后必须修改密码过期前10天通知用户过期后30天后禁止用户登录。 修改的文件/etc/shadow 查看 chage -l 用户名 设置方法2个
passwd -n 7 -x 60 -w 10 -i 30 oldboy #参数含义详见前文表格。
chage -m8 -M61 -W11 -I31 oldboy #使用chage按题意要求授权。[rootoldboy ~]# chage -l oldboy
最近一次密码修改时间 6月 30, 2030
密码过期时间 从不
密码失效时间 从不
帐户过期时间 从不
两次改变密码之间相距的最小天数 0
两次改变密码之间相距的最大天数 99999
在密码过期之前警告的天数 7练习修改密码属性了解
[rootoldboy ~]# grep -w oldboy /etc/shadow
oldboy:$6$V07NxoML$u.O04z4BaVQqosvEDjZfrQPvla19tEKLdoYxqjWpbgng8XQgtdjBS0xUMjtjN2zWBE8XiW5X6820iKPyDBJI00:22095:0:99999:7:::
[rootoldboy ~]# passwd -n 7 -x 60 -w 10 -i 30 oldboy
调整用户密码老化数据oldboy。
passwd: 操作成功
[rootoldboy ~]# grep -w oldboy /etc/shadow
oldboy:$6$V07NxoML$u.O04z4BaVQqosvEDjZfrQPvla19tEKLdoYxqjWpbgng8XQgtdjBS0xUMjtjN2zWBE8XiW5X6820iKPyDBJI00:22095:7:60:10:30::
[rootoldboy ~]# chage -l oldboy
最近一次密码修改时间 6月 30, 2030
密码过期时间 8月 29, 2030
密码失效时间 9月 28, 2030
帐户过期时间 从不
两次改变密码之间相距的最小天数 7
两次改变密码之间相距的最大天数 60
在密码过期之前警告的天数 10
[rootoldboy ~]# 4. 用户组相关的命令了解
groupadd 添加用户组
groupdel 删除用户组
练习
[rootoldboy ~]# groupadd sa
[rootoldboy ~]# tail -n 1 /etc/group /etc/gshadow/etc/group
sa:x:5018: /etc/gshadow
sa:!::
[rootoldboy ~]# groupdel sa
[rootoldboy ~]# grep -w sa /etc/group /etc/gshadow切换用户以及提权管理命令
su
sudo
su 切换用户角色从A用户切换到B用户。
su - oldboy # -表示携带用的环境变量切换
显示root环境变量
[rootoldboy ~]# env|grep root
USERroot
MAIL/var/spool/mail/root
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
PWD/root
HOME/root
LOGNAMEroot练习查看加不加-的区别
[rootoldboy ~]# su oldboy
[oldboyoldboy root]$ env|grep oldboy
HOSTNAMEoldboy
USERoldboy
HOME/home/oldboy
LOGNAMEoldboy
[oldboyoldboy root]$ pwd #还是root家目录这就是没有加-的问题。
/root
[oldboyoldboy root]$ env|grep root
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
MAIL/var/spool/mail/root
PWD/root
[oldboyoldboy root]$ exit
[rootoldboy ~]# su - oldboy
上一次登录一 7月 1 00:11:41 CST 2030pts/1 上
[oldboyoldboy ~]$ env|grep root
[oldboyoldboy ~]$ env|grep oldboy
HOSTNAMEoldboy
USERoldboy
MAIL/var/spool/mail/oldboy
PATH/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oldboy/.local/bin:/home/oldboy/bin
PWD/home/oldboy
HOME/home/oldboy
LOGNAMEoldboy第二个参数
-c 以oldboy用户身份执行命令然后退回当下用户
[rootoldboy ~]# su - oldboy -c pwd
/home/oldboy用普通用户登录管理su - root切换到root管理拥有了所有权限。
普通用户必须要知道root密码登录到root他就可以改了密码让你登录不上。
适合运维部门人少的时候。
弊端
1切换到root
2拥有所有权限
更规范的管理方法
不切换到root在操作命令同时拥有root权限一旦操作完成权限就消失。而且不需要root密码
sudo
sudo配置文件是/etc/sudoers
通过visudo管理sudo配置文件/etc/sudoers
[rootoldboy ~]# ls /etc/sudoers -l
-r--r-----. 1 root root 4328 11月 28 2019 /etc/sudoersroot ALL (ALL) ALL
用户 主机 切换的角色 执行命令
设置oldboy用户在所有主机上可以切换到所有角色执行所有命令。
oldboy ALL (ALL) ALL
oldboy就相当于root不是root。
测试1
[oldboyoldboy ~]$ useradd bingbing
useradd: Permission denied.
useradd无法锁定 /etc/passwd请稍后再试。
[oldboyoldboy ~]$ sudo useradd bingbing我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点#1) 尊重别人的隐私。
#2) 输入前要先考虑(后果和风险)。
#3) 权力越大责任越大。[sudo] oldboy 的密码
[oldboyoldboy ~]$ tail -1 /etc/passwd
bingbing:x:5018:5018::/home/bingbing:/bin/bash
[oldboyoldboy ~]$ sudo su - root
上一次登录日 6月 30 22:28:53 CST 2030从 10.0.0.1pts/1 上
[rootoldboy ~]# whoami
root生产管理方法;给用户设置具体的命令。
oldboy ALL (ALL) /usr/sbin/useradd,/usr/sbin/userdel ##执行命令 越小越具体越好。#设置粒度最小是一个命令允许他执行这个命令时拥有root权限。
[oldboyoldboy ~]$ rm -fr /root
rm: 无法删除/root: 权限不够
[oldboyoldboy ~]$ sudo rm -fr /root
对不起用户 oldboy 无权以 root 的身份在 oldboy 上执行 /bin/rm -fr /root。
[oldboyoldboy ~]$ rm -fr /root
rm: 无法删除/root: 权限不够
[oldboyoldboy ~]$ sudo userdel bingbing
[oldboyoldboy ~]$ grep bing /etc/passwd
[oldboyoldboy ~]$ sudo useradd bingbing
useradd警告此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
正在创建信箱文件: 文件已存在
[oldboyoldboy ~]$ grep bing /etc/passwd
bingbing:x:5018:5018::/home/bingbing:/bin/bash
[oldboyoldboy ~]$ ls /root
ls: 无法打开目录/root: 权限不够
[oldboyoldboy ~]$ sudo ls /root
对不起用户 oldboy 无权以 root 的身份在 oldboy 上执行 /bin/ls /root。
[oldboyoldboy ~]$ sudo优点 1不是root用户还是自己。
2指定命令拥有root权限可以完成管理员分配的任务。
3不需要root密码。
查看用户信息命令 idwhoamiwhow查看用户日志
last
lastlog
/var/log/secure 远程登录安全日志更改文件属性
更改用户所属用户和组chown #change owner
更改用户组chgrp #change group
chown 用户.用户组 文件 #.可以用替代 更改用户和组
chown 用户 文件 #更改用户
chown .用户组 文件 #更改用户组等价:chagrp 用户组 文件
前提用户和组必须要存在。
练习
[rootoldboy ~]# touch test.txt
[rootoldboy ~]# ls -l test.txt
-rw-r--r--. 1 root root 184 7月 1 01:51 test.txt
[rootoldboy ~]# chown oldboy.oldboy test.txt #更改用户和组为oldboy
[rootoldboy ~]# ls -l test.txt
-rw-r--r--. 1 oldboy oldboy 184 7月 1 01:51 test.txt
[rootoldboy ~]# chown root test.txt #更改用户为root
[rootoldboy ~]# ls -l test.txt
-rw-r--r--. 1 root oldboy 184 7月 1 01:51 test.txt
[rootoldboy ~]# chown .root test.txt
[rootoldboy ~]# ls -l test.txt
-rw-r--r--. 1 root root 184 7月 1 01:51 test.txt
[rootoldboy ~]# chgrp oldboy test.txt
[rootoldboy ~]# ls -l test.txt
-rw-r--r--. 1 root oldboy 184 7月 1 01:51 test.txt-R参数 递归更改
练习
[rootoldboy ~]# mkdir abc
[rootoldboy ~]# touch abc/{1..3}
[rootoldboy ~]# ls -ld ab
abc/ ab.txt
[rootoldboy ~]# ls -ld abc
drwxr-xr-x. 2 root root 33 7月 1 01:54 abc
[rootoldboy ~]# ls -l abc
总用量 0
-rw-r--r--. 1 root root 0 7月 1 01:54 1
-rw-r--r--. 1 root root 0 7月 1 01:54 2
-rw-r--r--. 1 root root 0 7月 1 01:54 3
[rootoldboy ~]# chown -R oldboy abc/
[rootoldboy ~]# ls -l abc
总用量 0
-rw-r--r--. 1 oldboy root 0 7月 1 01:54 1
-rw-r--r--. 1 oldboy root 0 7月 1 01:54 2
-rw-r--r--. 1 oldboy root 0 7月 1 01:54 3