usermod命令

usermod命令是用于更改用户属性的一个命令,usermoduseradd的用法相似,此命令的几种用法:

usermod -u 数字username  更改用户的uid,例如我将user1用户的uid改为1111

wKioL1ngeqOz-hxKAAJffpyNavM417.png


usermod -g 用户组或gid username  更改用户的gid:例如我将user1用户的用户组改为grp

wKiom1ngfVqw5isPAAJu89IZBx0004.png


usermod -d 路径 username  更改用户的家目录,例如:

wKioL1ngeqTxylg6AAFFxV1eGYk064.png


usermod -s shell username  更改用户的shell,例如:

wKiom1ngfVuxph0HAAJkFri9Gdk625.png


  usermod -G 用户组或gid username  扩展用户组(扩展组),一个用户可以属于多个组,但是gid只有一个,例如我将user1用户加多一个grp2的用户组:

wKioL1ngeqaQYYlKAAJQ73U0YKQ195.png


usermod -G 用户组或gid ,用户组或gid  username  此用法可以扩展多个用户组:

wKiom1ngfV3zV-zoAAKKMgwjqZY300.png


id user1命令可以查看user1用户的uidgid和用户组:

wKioL1ngeqfjCMUsAAFg03dyGGw191.png


用户密码管理

passwd命令是用于修改用户密码的命令,而且很多人应该也多次使用过这个命令。

  更改root用户的密码:

Linux的usermod命令,用户密码管理,mkpasswd命令_第1张图片

Linux的usermod命令,用户密码管理,mkpasswd命令_第2张图片

密码段两个*号表示的是这个用户的密码是被锁定的,不能用的,意味着此用户不能够登录


更改普通用户的密码:

wKiom1ngfWCASSN1AAHM5oW2t5U377.png

Linux的usermod命令,用户密码管理,mkpasswd命令_第3张图片

密码段两个!号表示的是这个用户没有密码,意味着此用户不能够登录


  passwd -l命令可以锁定一个用户的密码,例如我要锁定user1用户,锁定成功后会在这个用户的密码前面加上两个!号:

Linux的usermod命令,用户密码管理,mkpasswd命令_第4张图片


passwd -u命令可以取消用户密码的锁定,取消之后用户密码前面的两个!号就消失了:

Linux的usermod命令,用户密码管理,mkpasswd命令_第5张图片


  usermod -L 命令也可以锁定用户的密码,不过和使用passwd -l命令来锁定密码不同的是,此命令锁定的密码前面只有一个!号:

Linux的usermod命令,用户密码管理,mkpasswd命令_第6张图片


usermod -U 命令则是取消密码的锁定:

Linux的usermod命令,用户密码管理,mkpasswd命令_第7张图片


passwd --stdin 命令可以更改用户密码,在shell脚本上可能会使用到这个命令:

wKioL1ngerWzkp1rAAGhZc10ilA386.png


使用这个命令更改用户密码是明文显示的,而且不需要输入第二次确认密码。

所以可以用管道符直接将一个字符串设置为用户的密码:

wKioL1ngerWTwbKwAAH2mrzHpbU023.png


echo -e命令可以在一行命令里面出现一个换行符

wKiom1ngfWyydhC2AAFl8JlNGVU325.png


所以可以利用这一点即便在passwd命令不加 --stdin选项也能够直接用一句命令就能设置密码:

wKiom1ngfW2jlFAwAAJmFKT33eU151.png


设置密码的原则:

密码的长度要大于等于十位(特殊情况除外)

密码要包括数字大写字母小写字母和特殊字符

密码最好不要有规律性

密码不要包含个人信息,例如名字、生日之类的

密码定期更换



mkpasswd命令

  mkpasswdmake password的缩写,它是一个工具,是用来生成密码的一个工具。一般这个命令需要自己安装,需要安装expect包:

Linux的usermod命令,用户密码管理,mkpasswd命令_第8张图片


安装完毕后就可以使用mkpasswd命令随机生成一个密码:

wKioL1ngerii5I4yAAEfAfaFyI0533.png


mkpasswd -l可以指定生成密码的长度,比如我指定生成一个12位长度的密码

wKiom1ngfW7jzhjWAADzczKjFN4875.png


还可以指定生成的密码包括几个特殊符号,例如我要生成一个密码长度为12位,包含3个特殊符号的密码:

  命令:mkpasswd -l 12 -s 3

wKiom1ngfW7T9PSuAAEMQY6CF9A837.png


或者指定生成的密码中不包含特殊字符:

wKioL1ngerjx4usOAAENVDLYIq8982.png