文章目录
- 命令介绍
 - 常用选项
 - 参考示例
 - 设置用户默认使用的shell类型
 - 将不能登录的用户改成可以登录的
 - 限定用户不能 shell 登录,只能 ftp
 - 修改用户的主目录
 - 更改用户的名称
 - 锁定用户的密码
 - 解锁用户的密码
 - 将用户添加到指定用户组
 
命令介绍
usermod 命令用于修改用户的基本信息。usermod 命令不允许你改变正在线上的用户。当 usermod 命令用来修改用户信息时,必须确认这名用户没在电脑上执行任何程序。如果你修改了用户的名称,而用户又有定时的任务计划,例如周期性的任务计划,那么你需手动更改用户的 crontab 文件里面的用户名,否则周期性任务无法执行;或者有一次性任务计划,那么也需手动更改用户的 at 文件。采用 NIS server 须在 server 上更动相关的 NIS 设定。
常用选项
| 选项 | 说明 | 
|---|---|
| -c<备注> | 修改用户账号的备注文字 | 
| -d<登入目录> | 修改用户登入时的目录,其实就是用户主目录,用户登录时的初始目录 | 
| -e<有效期限> | 修改账号的有效期限 | 
| -f<缓冲天数> | 修改在密码过期后多少天即关闭该账号 | 
-g<群组> | 修改用户所属的基本群组,也就是主要群组 | 
-a | 追加次要群组,和选项 -G 联合使用 | 
-G<群组> | 修改用户所属的附加群组,如果联合选项 -a 一起使用,则表示追加群组,否则不会追加,而是修改。所谓修改,就是之前加入的附加群组会被删除掉,改成新添加的群组 | 
| -l<账号名称> | 修改用户账号名称 | 
| -L | 锁定用户密码,使密码无效 | 
| -s | 修改用户登入后所使用的shell | 
| -u | 修改用户ID | 
| -U | 解除密码锁定 | 
参考示例
设置用户默认使用的shell类型
例如,将用户 test 的shell 类型设置为 /bin/bash:
usermod -s /bin/bash test
 
将不能登录的用户改成可以登录的
假设用户 test 的 shell 类型是 /sbin/nologin,那么通过下面的命令可以让该用户允许登录 shell:
usermod -s /bin/bash test
 
限定用户不能 shell 登录,只能 ftp
例如,将用户 test 设置为只能 ftp,不能使用 shell 登录:
usermod -s /sbin/nologin test
 
修改用户的主目录
将用户 root 的主目录更改成 /home/hnlinux,命令如下:
[root@linuxcool ~]# usermod -d /home/hnlinux root
 
更改用户的名称
将用户 linuxcool 的名称更改成 Linux,命令如下:
[root@linuxcool ~]# usermod -l Linux linuxcool
 
锁定用户的密码
锁定linuxcool的密码:
[root@linuxcool ~]# usermod -L linuxcool
 
解锁用户的密码
解锁linuxcool的密码:
[root@linuxcool ~]# usermod -U linuxcool
 
将用户添加到指定用户组
将 newuser2 添加到组 staff 中:
usermod -G staff newuser2
 
如果要再次将用户添加到用户组 admin 中,需要执行下面的命令:
usermod -aG admin newuser2 
 
这样的话,用户 newuser2 就加入到了两个用户组 staff 和 admin。
注:-a 参数表示附加,只和 -G 参数一同使用,表示将用户增加到组中。