Linux 命令之 - usermod
命令简介
usermod
是 Linux 系统中用于修改已存在用户帐户信息的命令。它允许系统管理员更改用户的登录名、主目录、默认 Shell、组成员资格等属性。该命令是管理用户帐户的重要工具之一。
命令格式
1 | usermod [选项] 用户名 |
参数说明
命令实例
基本用法
1.更改用户的备注信息
1 | usermod -c "John Doe" johndoe |
这将更改用户 johndoe
的备注信息为 “John Doe”。
2.更改用户的主目录
1 | usermod -d /home/newdir -m johndoe |
这将更改用户 johndoe
的主目录为 /home/newdir
,并移动该用户原有主目录下的文件和目录。
3.更改用户的主组和附加组
1 | usermod -g developers -G admins,finance johndoe |
这将更改用户 johndoe
的主组为 developers
,并将其添加到 admins
和 finance
附加组中。
4.更改用户的登录名
1 | usermod -l newname -d /home/newname -m oldname |
这将更改用户 oldname
的登录名为 newname
,并更改其主目录为 /home/newname
,同时移动该用户原有主目录下的文件和目录。
5.锁定和解锁用户帐户
1 | usermod -L johndoe # 锁定用户帐户 |
这将锁定用户 johndoe
的帐户,防止其登录。然后再解锁该用户的帐户,允许其登录。
扩展用法
1.批量修改用户的附加组
1 | cat users.txt | while read user; do |
这将从 users.txt
文件中读取用户名,并将每个用户添加到 developers
附加组中。
2.更改用户的主目录权限
1 | usermod -d /home/newdir -m johndoe |
这将更改用户 johndoe
的主目录为 /home/newdir
,并移动该用户原有主目录下的文件和目录。然后,使用 chmod
命令更改新主目录的权限,只允许用户和同组用户具有读/写/执行权限。
高级用法
1.更改用户的资源限制
1 | usermod -K FSGID=1000 -K FSUID=1000 -K FSMASK=027 johndoe |
这将更改用户 johndoe
的资源限制,包括:
- 设置新用户的文件系统 GID 为 1000
- 设置新用户的文件系统 UID 为 1000
- 设置新用户创建文件的默认权限掩码为 027
通过这些设置,您可以控制用户对文件系统的访问权限和默认文件权限。
2.批量更改用户的默认 Shell
1 | for user in $(cat users.txt); do |
这将从 users.txt
文件中读取用户名,并将每个用户的默认 Shell 更改为 /bin/zsh
。
3.更改用户的过期时间
1 | usermod -e "2024-12-31" johndoe |
这将设置用户 johndoe
的帐户在 2024 年 12 月 31 日过期。过期后,该用户将无法登录系统。
以上是关于 usermod
命令的详细文档,包括命令简介、语法格式、参数使用说明、演示实例以及扩展和高级使用方法。如果您需要更多关于用户管理的信息,可以查阅 useradd
、userdel
、groupadd
、groupmod
和 groupdel
等相关命令的文档。
v1.5.2