usermod命令

usermod:更改用户属性的命令。

usermod -u UID 用户名:更改一个用户的UID。

usermod -g GID(或组名) 用户名:更改一个用户的GID。(组一定要存在,否则会报错)

usermod -d 家目录 用户名:更改一个用户的家目录。(若这个家目录不存在,则这条命令不会去自动创建这个家目录,只是在/etc/passwd里面可以看到家目录已经变更,这时用户无法正常登陆)

usermod -s shell环境 用户名:更改一个用户的登陆shell。


usermod -G 组名(或GID) 用户名:更改一个用户的扩展组。

usermod -aG 组名(或GID) 用户名:把这个用户添加到某个扩展组里。(-a代表附加,若这个用户已经有了一个扩展组,不加-a的话,会重新指定其扩展组而不是添加一个扩展组)

每个用户至少是一个组(主组,用户创建时生成)的成员,并且可能是其他多个扩展组的成员。主组(GID)只能有一个,而扩展组可以有多个。


用户密码管理

passwd -l 用户名:锁定一个用户。

passwd -u 用户名:解锁用户。


usermod -L 用户名:锁定一个用户。

usermod -U 用户名:解锁用户。


使用上述两种方法锁定用户的效果都是一样的。root用户还是可以切换到被锁定的用户,因为root的权限很高,不需要密码验证就可以直接切过去。但是如果直接使用被锁定的用户登陆系统,或者从其他用户切到这个用户时,就会提示无法登陆。(使用passwd命令锁定用户时,/etc/shadow里面用户密码前会多两个感叹号;使用usermod命令锁定用户时,/etc/shadow里面用户密码前会多一个感叹号)


passwd 用户名:更改用户密码。(要输入两次)

echo "新密码" |passwd 用户名 --stdin :更改用户密码。(因为使用passwd命令需要输两遍密码,所以需要加上--stdin选项,否则会报错,修改不成功)

echo -e "新密码\n新密码" |passwd 用户名:更改用户密码。(echo -e代表处理后面“”中的特殊字符,\n代表换行)


mkpasswd命令

mkpasswd:随机生成密码的工具。包括大小写字母、数字和特殊符号。

要使用这个命令,需要先安装一个包,yum -y install expect。


一般生成的密码默认是9位。

mkpasswd -l 位数:指定生成密码的位数。

mkpasswd -s 个数:指定生成的密码中特殊符号的个数。