且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Linux的usermod命令,用户密码管理,mkpasswd命令

更新时间:2022-09-17 08:10:09

usermod命令

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

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

Linux的usermod命令,用户密码管理,mkpasswd命令


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

Linux的usermod命令,用户密码管理,mkpasswd命令


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

Linux的usermod命令,用户密码管理,mkpasswd命令


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

Linux的usermod命令,用户密码管理,mkpasswd命令


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

Linux的usermod命令,用户密码管理,mkpasswd命令


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

Linux的usermod命令,用户密码管理,mkpasswd命令


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

Linux的usermod命令,用户密码管理,mkpasswd命令


用户密码管理

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

  更改root用户的密码:

Linux的usermod命令,用户密码管理,mkpasswd命令

Linux的usermod命令,用户密码管理,mkpasswd命令

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

更改普通用户的密码:

Linux的usermod命令,用户密码管理,mkpasswd命令

Linux的usermod命令,用户密码管理,mkpasswd命令

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


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

Linux的usermod命令,用户密码管理,mkpasswd命令


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

Linux的usermod命令,用户密码管理,mkpasswd命令


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

Linux的usermod命令,用户密码管理,mkpasswd命令


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

Linux的usermod命令,用户密码管理,mkpasswd命令


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

Linux的usermod命令,用户密码管理,mkpasswd命令


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

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

Linux的usermod命令,用户密码管理,mkpasswd命令


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

Linux的usermod命令,用户密码管理,mkpasswd命令


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

Linux的usermod命令,用户密码管理,mkpasswd命令


设置密码的原则:

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

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

密码***不要有规律性

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

密码定期更换



mkpasswd命令

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

Linux的usermod命令,用户密码管理,mkpasswd命令


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

Linux的usermod命令,用户密码管理,mkpasswd命令


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

Linux的usermod命令,用户密码管理,mkpasswd命令


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

  命令:mkpasswd -l 12 -s 3

Linux的usermod命令,用户密码管理,mkpasswd命令


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

Linux的usermod命令,用户密码管理,mkpasswd命令





本文转自 ZeroOne01 51CTO博客,原文链接:http://blog.51cto.com/zero01/1972145,如需转载请自行联系原作者