今天我们讲一个更改用户属性的命令usermod,用法和useradd类似,比如我们更改一个用户的uid可以使用usermod -u 1010 user1,更改gid可以使用usermod -g 1010(或者组名) user1 ,-d更改它的家目录,或者-s更改它的shell,或者-G增加或更改扩展组,我们可以使用id user1查看一个用户的uid gid以及组,这里的组不仅包含它的gid,也包含了扩展组,一颗用户可以属于多个组,但它gid只有一个,我们把除了gid之外的组叫扩展组。-L可以锁定用户,-U可以解锁它。
我们继续讲一下用户密码管理,passwd命令,它有一个特殊权限,也就是我们之前讲的set_uid,这个权限可以让用户更改自己的密码,passwd user1就可以更改密码了,我们会发现shadow文件里user1那一行里多了一些加密字符串,这就是我们用户的密码了,如果一个用户没有密码,这一列将是!!,不可登录,如果是*,则表示,此用户的密码被锁定,不可登录,passwd -l user1可以把user1的密码锁定,当然passwd -u user1可以解锁它。passwd --stdin user5 可以直接新建一个用户并设置它的密码,可以在写shell脚本时使用这个用法,例如使用管道符echo "qwer" |passwd --stdin user5即可一条命令完成以上操作。echo -e "123\qwe"可以实现换行,例如echo -e "qwer\1234" |passwd user5也可以实现以上操作。
我们在讲一个工具mkpasswd,用来生成密码,需要安装yum install -y expect ,它可以生成随机字符串,就可以用来作为密码,包括大小写数字以及符号,我们可以使用mkpasswd -l 12来指定长度为12位,-s 3可以指定特殊符号的数量。