usermod 概述
`usermod` 命令修改由 `useradd` 创建的用户帐户信息,涉及 `/etc/passwd`、`/etc/shadow`、`/etc/group`、`/etc/gshadow` 等系统文件。在用户登录状态下更改帐户信息可能会导致问题,因此需要确认要更改的用户是否已注销,或谨慎操作。所有这些过程都需要管理员权限(`sudo`)。
usermod 的主要角色
`usermod` 命令主要用于以下目的:
主要应用领域
- 修改用户信息: 更改现有用户帐户的登录名称、主目录、Shell 等。
- 管理组成员资格: 将用户添加到新组或从现有组中删除。
- 调整帐户状态: 设置帐户的到期日期或锁定和解锁帐户。
- 更改 UID/GID: 更改用户的唯一 ID(UID)或基本组 ID(GID)。(需要非常小心)
useradd vs usermod
`useradd` 用于“创建”新帐户,而 `usermod` 用于“修改”已存在帐户的属性。
主要 usermod 命令选项
`usermod` 命令提供了广泛的选项,可以更改用户的各种帐户属性。
1. 更改帐户名称和 ID
2. 更改组成员资格
3. 更改主目录和 Shell
4. 帐户状态及其他
生成的命令:
请尝试组合命令。
描述:
`usermod` 执行命令。
通过组合这些选项,您可以与 AI 一起虚拟地执行命令。
使用示例
`usermod` 命令的各种使用示例,将帮助您有效地更改和管理现有用户帐户的属性。
更改用户名
sudo usermod -l newuser -m -d /home/newuser olduser
将 `olduser` 的登录名称更改为 `newuser`。帐户信息和主目录名称将一并更改。
将用户添加到 'sudo' 组
sudo usermod -aG sudo devuser
将 `devuser` 用户添加到 `sudo` 组,以便可以使用管理员权限。现有组成员资格保持不变。
更改用户的默认 Shell
sudo usermod -s /bin/zsh testuser
将 `testuser` 的默认登录 Shell 更改为 `/bin/zsh`。
锁定用户帐户
sudo usermod -L guestuser
锁定 `guestuser` 帐户,使其无法再登录。这在禁用帐户但不删除时非常有用。
解锁用户帐户
sudo usermod -U guestuser
重新激活之前锁定的 `guestuser` 帐户,使其可以登录。
设置用户帐户到期日
sudo usermod -e 2025-12-31 tempuser
将 `tempuser` 帐户设置为在 2025 年 12 月 31 日自动到期。
更改用户的所有辅助组(移除现有组)
sudo usermod -G developers john
使 `john` 用户仅属于 `developers` 组,并移除之前属于的其他辅助组。