三周第二次课
3.4 usermod命令
3.5 用户密码管理
3.6 mkpasswd命令
一、 usermod命令
usermod 修用户的属性
- -u 修改用户UID
- -g 修改用户Gid
- -d 修改用户家目录
- -s 修改用户shell
- -G 增加用户扩展组;一个用户可以属于多个组,但是gid只有一个,把用户gid的叫做组,其他组叫做扩展组。
- -L 锁定一个用户登录
- -U 解锁用户登录
例子:
[root@linux-151 ~]# usermod -u 1008 -g grp2 -d /home/lem -s /sbin/nologin user6
[root@linux-151 ~]# ls /home
user2 user5 user6 lem
[root@linux-151 ~]# ls /home/lem/
[root@linux-151 ~]# tail -1 /etc/passwd
user6:x:1008:1003::/home/lem:/sbin/nologin
usermod -G 扩展组;-G后面可以跟多个组
[root@linux-151 ~]# usermod -G user6 user6
[root@linux-151 ~]# id user6
uid=1008(user6) gid=1003(grp2) 组=1003(grp2),1008(user6)
[root@linux-151 ~]# usermod -G user5 user6
[root@linux-151 ~]# id user6
uid=1008(user6) gid=1003(grp2) 组=1003(grp2),1006(user5)
[root@linux-151 ~]# usermod -G user5,user6 user6
[root@linux-151 ~]# id user6
uid=1008(user6) gid=1003(grp2) 组=1003(grp2),1006(user5),1008(user6)
usermod -g 后面只能跟一个组名
[root@linux-151 ~]# usermod -g user5,user6 user6
usermod:“user5,user6”组不存在
usermod -L 锁定用户
[root@linux-151 ~]# passwd user6
更改用户 user6 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@linux-151 ~]# tail -5 /etc/shadow
lem:!!:17459:0:99999:7:::
user3:!!:17469:0:99999:7:::
user4:!!:17469:0:99999:7:::
user5:!!:17470:0:99999:7:::
user6:$6$tJJAc8/V$IRy04ujT7yV.9vI0c9cR9WgYLZx.LlVKp.Hu5WBeAG5Z0XuO8lvZ1FgL3yiEA.YrnfpD1.vljuzXZL7ljbMze1:17470:0:99999:7:::
//锁定user6
[root@linux-151 ~]# usermod -L user6
[root@linux-151 ~]# tail -5 /etc/shadow
lem:!!:17459:0:99999:7:::
user3:!!:17469:0:99999:7:::
user4:!!:17469:0:99999:7:::
user5:!!:17470:0:99999:7:::
user6:!$6$tJJAc8/V$IRy04ujT7yV.9vI0c9cR9WgYLZx.LlVKp.Hu5WBeAG5Z0XuO8lvZ1FgL3yiEA.YrnfpD1.vljuzXZL7ljbMze1:17470:0:99999:7:::
注意:-L user6,查看密码文件的时候,user6密码前面多了一个感叹号,表示用户user6被锁定了;
usermod -U 解锁用户
[root@linux-151 ~]# usermod -U user6
[root@linux-151 ~]# tail -5 /etc/shadow
lem:!!:17459:0:99999:7:::
user3:!!:17469:0:99999:7:::
user4:!!:17469:0:99999:7:::
user5:!!:17470:0:99999:7:::
user6:$6$tJJAc8/V$IRy04ujT7yV.9vI0c9cR9WgYLZx.LlVKp.Hu5WBeAG5Z0XuO8lvZ1FgL3yiEA.YrnfpD1.vljuzXZL7ljbMze1:17470:0:99999:7::: //感叹号消失
注意:删除一个组,如果组里面有用户,是不能被删除的,但是这个组属于扩展组是可以删除的。
二、 用户密码管理
命令passwd:设置用户密码;后面不加用户名,默认修改当前用户的密码
[root@linux-128 ~]# passwd
更改用户 root 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@linux-128 ~]# passwd user5
更改用户 user5 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
注意:只有root用户才能修改其他用户的密码,普通用户只能修改自己的密码;
- passwd有个选项也能锁定用户登录
- passwd –l 锁定用户
- passwd –u 解锁用户
[root@linux-128 ~]# tail -4 /etc/shadow
user3:!!:17469:0:99999:7:::
user4:!!:17469:0:99999:7:::
user5:$6$KFjov3.A$I2kpQHNDMbvYNQzBv8dUeco/E2D0zUqWKrP.CalCF/kpVpuAwZ3C/.DUZHSSYiT6Hk1D7gLYg/HmSEv8krVxc.:17470:0:99999:7:::
user6:$6$tJJAc8/V$IRy04ujT7yV.9vI0c9cR9WgYLZx.LlVKp.Hu5WBeAG5Z0XuO8lvZ1FgL3yiEA.YrnfpD1.vljuzXZL7ljbMze1:17470:0:99999:7:::
[root@linux-128 ~]# head -4 /etc/shadow
root:$6$P0JCL/5p$GnTS9gjHEdrLAUam9rbUNScO9N8USlzbZylZrHt3CGSyv/yCOw2cxcc0B6ojFNB1yYYJD30cSJD4ZIKPVkiCX.:17470:0:99999:7:::
bin:*:17110:0:99999:7:::
daemon:*:17110:0:99999:7:::
adm:*:17110:0:99999:7:::
注意:*表示用户密码是锁定的,不能用,不能登录系统;!!表示密码是空的也不能登录;
passwd -l 密码锁定
[root@linux-128 ~]# passwd -l user5
锁定用户 user5 的密码 。
passwd: 操作成功
[root@linux-128 ~]# tail -4 /etc/shadow
user3:!!:17469:0:99999:7:::
user4:!!:17469:0:99999:7:::
user5:!!$6$KFjov3.A$I2kpQHNDMbvYNQzBv8dUeco/E2D0zUqWKrP.CalCF/kpVpuAwZ3C/.DUZHSSYiT6Hk1D7gLYg/HmSEv8krVxc.:17470:0:99999:7:::
user6:$6$tJJAc8/V$IRy04ujT7yV.9vI0c9cR9WgYLZx.LlVKp.Hu5WBeAG5Z0XuO8lvZ1FgL3yiEA.YrnfpD1.vljuzXZL7ljbMze1:17470:0:99999:7:::
user5的密码锁定后,密码前面多了2个叹号;
passwd -u 密码解锁
[root@linux-128 ~]# passwd -u user5
解锁用户 user5 的密码。
passwd: 操作成功
[root@linux-128 ~]# tail -4 /etc/shadow
user3:!!:17469:0:99999:7:::
user4:!!:17469:0:99999:7:::
user5:$6$KFjov3.A$I2kpQHNDMbvYNQzBv8dUeco/E2D0zUqWKrP.CalCF/kpVpuAwZ3C/.DUZHSSYiT6Hk1D7gLYg/HmSEv8krVxc.:17470:0:99999:7:::
user6:$6$tJJAc8/V$IRy04ujT7yV.9vI0c9cR9WgYLZx.LlVKp.Hu5WBeAG5Z0XuO8lvZ1FgL3yiEA.YrnfpD1.vljuzXZL7ljbMze1:17470:
passwd --stdin
passwd --stdin XXX(用户名) 更改密码(密码为明文)
echo "xxxxxxx" |passwd --stdin XXX(用户名)
输出“xxxxxxx”为XXX的明文密码
echo "xxxxxxx" |passwd –stdin username
[root@linux-151 ~]# passwd --stdin user6
更改用户 user6 的密码 。
123123
passwd:所有的身份验证令牌已经成功更新。
[root@linux-151 ~]# echo "123456" |passwd --stdin user6
更改用户 user6 的密码 。
passwd:所有的身份验证令牌已经成功更新。
这个多用于脚本修改密码
[root@linux-151 ~]# echo -e "123456\nqweqwe"
123456
qweqwe
echo -e可以使用换行符\n,这样相当于人工打了一次回车,也可以可以修改密码的。
[root@linux-151 ~]# echo -e "wz11223344%1\nwz11223344%1"|passwd user6
更改用户 user6 的密码 。
新的 密码:重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。
三、mkpasswd命令
mkpasswd用户生成密码;需要安装一个expect包
[root@linux-151 ~]# yum install -y expect
mkpasswd默认会生成一个9位数密码
[root@linux-151 ~]# mkpasswd
91?uRIyuo
mkpasswd -l 12 指定密码长度为12
- -s 1 指定特殊字符个数1
- -d 4 指定有4个数字
- -c 3 指定有3个小写
- -C 5 指定有5个大写
[root@linux-151 ~]# mkpasswd -l 12 -d 4 -s 0
xigSTsf0965d