usermod 是 Linux 中用于修改用户账号属性的命令。通过 usermod可以修改用户的基本信息,如用户名、用户ID、主目录、用户组、登录shell等。
usermod 命令的基本语法usermod [选项] 用户名
-l:修改用户名。-d:修改用户的主目录。-m:配合 -d 一起使用,将用户的主目录移动到新位置。-c:修改用户的描述信息。-s:修改用户的登录 shell。-L:锁定用户账号(禁用登录)。-U:解锁用户账号(启用登录)。-u:修改用户ID (UID)。-g:修改用户的主组。-G:修改用户的附加组(secondary group)。-aG:将用户添加到新的附加组,不会移除其已属于的附加组。usermod 命令示例将用户名 oldname 修改为 newname:
usermod -l newname oldname
注意:修改用户名不会自动修改用户的主目录名称,需要手动处理。
假设要将用户 bob 的主目录从 /home/bob 改为 /home/newbob:
usermod -d /home/newbob bob
此命令只是修改用户主目录的路径,并不会移动现有的文件。如果想移动主目录中的所有文件,可以加上 -m 选项:
usermod -d /home/newbob -m bob
此命令会同时移动原来的 /home/bob 目录到 /home/newbob。
将用户 bob 的登录 shell 修改为 /bin/bash:
usermod -s /bin/bash bob
可以用 chsh 命令查看系统中可用的 shell:
chsh --list-shells
将用户 bob 的用户ID(UID)修改为 2001:
usermod -u 2001 bob
修改 UID 可能会导致用户对现有文件的访问问题,因此修改后需要确保文件权限也更新。
将用户 bob 的主组修改为 developers:
usermod -g developers bob
此命令将 bob 的主组更改为 developers。
将用户 bob 添加到 sudo 组,以授予 sudo 权限:
usermod -aG sudo bob
-aG 表示将用户追加到一个附加组,如果没有 -a,则现有的附加组将被替换。
这个命令经常会用到
锁定用户 bob 的账号,使其无法登录:
usermod -L bob
解锁用户 bob 的账号:
usermod -U bob
将用户 bob 的描述修改为 “Bob the Developer”:
usermod -c "Bob the Developer" bob
设置用户 bob 的账号过期日期为 2024 年 12 月 31 日:
usermod -e 2024-12-31 bob
移除用户 bob 的账号过期日期,使其永不过期:
usermod -e "" bob