5. usermod 命令
usermod 是 用于修改用户属性信息的命令,由 root 或具有 sudo 权限的用户执行。它可以调整用户的用户名、主目录、用户组、登录 Shell 等多种属性。
命令格式
usermod [选项] [用户名]
如果不给出用户名,默认是更改自己属性信息。
常用选项
选项
说明
-s <Shell路径>修改用户的默认 Shell(如:
usermod -s /bin/bash li4)-l <新用户名>修改用户名(如:
usermod -l newuser olduser)-d <新主目录>修改用户主目录(需配合
-m 移动文件)-m将旧主目录内容移动到新目录(与
-d 联用)-g <主组>修改用户的主组(如:
usermod -g developer li4)-G <附加组>修改用户的附加组(覆盖原有附加组,用逗号分隔)
-aG <附加组>追加附加组(不覆盖原有组,常与
-G 联用)-L锁定用户账户(禁用登录)
-U解锁用户账户
-e <YYYY-MM-DD>设置账户过期时间(如:
usermod -e 2025-5-23 li4)-u <UID>修改用户 UID(需确保唯一性)
示例
锁定/解锁 li4 账户
weimingze@mzstudio:~$ sudo usermod -L li4 # 锁定
[sudo] password for weimingze:
weimingze@mzstudio:~$ sudo usermod -U li4 # 解锁
修改 li4 账户的默认 Shell 为 /bin/sh。
weimingze@mzstudio:~$ sudo usermod -s /bin/sh li4
[sudo] password for weimingze:
weimingze@mzstudio:~$ tail -2 /etc/passwd
zhang3:x:1001:1002::/home/zhang3:/bin/sh
li4:x:1002:1001:develop_lisi:/home/lisi:/bin/sh
将用户添加到附加组:adm,sudo,users,lpadmin中(保留原组)
weimingze@mzstudio:~$ groups
weimingze adm cdrom sudo dip plugdev users lpadmin
weimingze@mzstudio:~$ sudo groups li4
li4 : develop
weimingze@mzstudio:~$ sudo usermod -aG adm,sudo,users,lpadmin li4
weimingze@mzstudio:~$ sudo groups li4
li4 : develop adm sudo users lpadmin
weimingze@mzstudio:~$ grep "li4" /etc/group
adm:x:4:syslog,weimingze,li4
sudo:x:27:weimingze,li4
users:x:100:weimingze,li4
lpadmin:x:114:weimingze,li4
可见 li4 用户已经加入了组:
adm,sudo,users,lpadmin中。
删除上述添加的所有的组。
weimingze@mzstudio:~$ sudo groups li4
li4 : develop adm sudo users lpadmin
weimingze@mzstudio:~$ sudo usermod -G "" li4
weimingze@mzstudio:~$ sudo groups li4
li4 : develop
weimingze@mzstudio:~$ grep "li4" /etc/group
weimingze@mzstudio:~$
练习:
- 创建一个用户
test。要求:创建用户主文件为/home/test,指定登陆Shell 为/bin/sh。 - 将
test用户添加附加组sudo、adm。 - 修改
test用户的 Shell 为/bin/bash。 - 修改
test用户的密码为Linux666。 - 注销当前用户,使用
test重新登陆。