一、usermod命令
usermod命令用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。

命令语法:
usermod -选项 参数 用户名
选项:
-c<备注>:修改用户帐号的备注文字;
-d<家目录>:修改用户登入时的家目录;
-g<群组>:修改用户所属的群组;
-G<群组>;修改用户所属的附加群组;
-L:锁定用户密码,使密码无效;
-s<shell>:修改用户登入后所使用的shell目录;
-u<uid>:修改用户ID;
-U:解除密码锁定。
示例:
1、修改用户的所属组
12月26日课程笔记 usermod、passwd命令
2、添加用户到多个组中
查看用户的组命令:id
12月26日课程笔记 usermod、passwd命令
注释:用户的gid只有1个,但属组可以有多个。

二、passwd命令
passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。
密码字段含义
!!
*密码锁定

语法
命令 -选项 用户名
选项
-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码,锁定后用户自己不能通过passwd命令更改自己的密码;
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。
--stdin :直接明文设定某个用户的密码
示例
1、更改用户密码并把他锁定。
12月26日课程笔记 usermod、passwd命令
系统会自动屏蔽掉简单的密码。
2、删掉特定用户的密码
12月26日课程笔记 usermod、passwd命令
删掉用户密码后该用户将无法登陆。实现特定用户的空密码登陆需要做相关设置。
3、一条命令通过管道符设定用户密码
12月26日课程笔记 usermod、passwd命令

补充知识 密码设置原则:10位以上大小写数字混合,最好是随机12位字符串,基本很难用字典爆破,当然你得花点功夫记住。

三、mkpasswd命令
生成密码工具,非系统自带,需要安装expect软件包。

1、随机生成密码
12月26日课程笔记 usermod、passwd命令
2、随机生成12位的密码
12月26日课程笔记 usermod、passwd命令