在 Linux 系统中,理解命令参数的中英文对照有助于记忆和正确使用。本文将详细介绍用户和组管理的完整操作,包含所有常用参数的中英文完整解释。
1. 用户管理操作
1.1 创建用户 (useradd)
bash
# 完整创建示例
sudo useradd -m -s /bin/bash -c "Alice User" -d /home/alice alice
# 参数详解(中英文对照):
# -m, --create-home: 自动创建用户主目录 | Create the user's home directory
# -s, --shell SHELL: 指定登录shell | Login shell for the new user
# -c, --comment COMMENT: 用户备注信息(全名、电话等)| GECOS field (full name, phone, etc.)
# -d, --home-dir HOME_DIR: 指定主目录路径 | Home directory for the new user
# alice: 用户名 | username
1.2 修改用户属性 (usermod)
bash
# 修改用户shell
sudo usermod -s /bin/zsh alice
# 修改用户主目录(并移动文件)
sudo usermod -m -d /home/new_alice alice
# 锁定用户账户
sudo usermod -L alice
# 解锁用户账户
sudo usermod -U alice
# 将用户添加到附加组
sudo usermod -aG developers alice
# 参数详解(中英文对照):
# -s, --shell SHELL: 新登录shell | New login shell for the user
# -m, --move-home: 移动主目录到新位置 | Move home directory to new location
# -d, --home HOME_DIR: 新主目录路径 | New home directory
# -L, --lock: 锁定用户账户 | Lock the user account
# -U, --unlock: 解锁用户账户 | Unlock the user account
# -a, --append: 追加用户到组(不移除原有组)| Append the user to the supplemental groups
# -G, --groups GROUPS: 附加组列表 | List of supplementary groups
1.3 删除用户 (userdel)
bash
# 删除用户但保留主目录
sudo userdel alice
# 完全删除用户(包括主目录和邮件)
sudo userdel -r alice
# 参数详解(中英文对照):
# -r, --remove: 递归删除主目录和邮件文件 | Remove home directory and mail spool
2. 组管理操作
2.1 创建组 (groupadd)
bash
# 创建普通组
sudo groupadd developers
# 创建系统组
sudo groupadd -r systemgroup
# 指定GID创建组
sudo groupadd -g 1005 developers
# 参数详解(中英文对照):
# -r, --system: 创建系统组(GID < 1000)| Create a system group (GID < 1000)
# -g, --gid GID: 强制使用指定GID | Force use the specified GID
2.2 修改组属性 (groupmod)
bash
# 修改组名
sudo groupmod -n devteam developers
# 修改GID
sudo groupmod -g 1006 devteam
# 参数详解(中英文对照):
# -n, --new-name NEW_GROUP: 新组名 | New name of the group
# -g, --gid GID: 新组ID | New GID for the group
2.3 删除组 (groupdel)
bash
# 删除组
sudo groupdel devteam
# 注意:如果组是用户的主组,需要先修改用户主组才能删除
3. 密码和账户策略管理
3.1 密码管理 (passwd)
bash
# 修改用户密码
sudo passwd alice
# 锁定密码(禁止登录)
sudo passwd -l alice
# 解锁密码
sudo passwd -u alice
# 参数详解(中英文对照):
# -l, --lock: 锁定账户密码 | Lock the password of the named account
# -u, --unlock: 解锁账户密码 | Unlock the password of the named account
3.2 密码策略 (chage)
bash
# 设置密码90天后过期
sudo chage -M 90 alice
# 强制用户下次登录修改密码
sudo chage -d 0 alice
# 查看密码信息
sudo chage -l alice
# 参数详解(中英文对照):
# -M, --maxdays MAX_DAYS: 密码最大有效天数 | Maximum number of days a password is valid
# -d, --lastday LAST_DAY: 设置最后密码修改日期(0=强制修改)| Set last password change date (0 = force change)
# -l, --list: 显示账户老化信息 | Show account aging information
4. 文件权限管理
4.1 修改所有权 (chown)
bash
# 修改文件所有者和组
sudo chown alice:developers filename
# 递归修改目录所有权
sudo chown -R alice:developers /project/
# 参数详解(中英文对照):
# -R, --recursive: 递归操作文件和目录 | Operate on files and directories recursively
4.2 修改权限 (chmod)
bash
# 设置目录权限:所有者rwx,组r-x,其他无权限
sudo chmod 750 /project/
# 设置SUID位(执行时以所有者身份运行)
sudo chmod u+s /usr/bin/special_command
# 参数详解(数字权限中英文):
# 7 = rwx (读、写、执行 | read, write, execute)
# 5 = r-x (读、执行 | read, execute)
# 0 = --- (无权限 | no permissions)
# u+s: 设置用户ID位 | Set User ID bit
5. 实用组合操作示例
5.1 开发团队完整配置
bash
# 1. 创建开发组
sudo groupadd -g 2000 developers
# 2. 创建用户并加入组
sudo useradd -m -s /bin/bash -G developers -c "Developer Alice" alice
sudo useradd -m -s /bin/bash -G developers -c "Developer Bob" bob
# 3. 设置密码
sudo passwd alice
sudo passwd bob
# 4. 配置共享目录
sudo mkdir /shared
sudo chown root:developers /shared
sudo chmod 2775 /shared # 2=SGID, 775=rwxrwxr-x
# 5. 验证配置
ls -ld /shared
groups alice
groups bob
5.2 用户离职清理流程
bash
# 1. 锁定用户账户
sudo usermod -L alice
# 2. 备份用户数据
sudo tar -czf alice_backup.tar.gz /home/alice
# 3. 删除用户
sudo userdel -r alice
# 4. 从相关组中移除
sudo gpasswd -d alice developers
6. 常用信息查看命令
6.1 用户和组信息
bash
# 查看用户详细信息
finger alice
getent passwd alice
# 查看组信息
getent group developers
# 查看当前登录用户
who
w
6.2 安全审计命令
bash
# 查看空密码用户
sudo awk -F: '($2 == "") {print $1}' /etc/shadow
# 查看sudo权限用户
sudo grep -Po '^sudo:\K.*$' /etc/group
# 检查最近登录记录
last
lastlog
总结
本文详细介绍了 Linux 用户和组管理的完整流程,包括创建、修改、删除以及权限配置等操作。关键要点如下:
1. 用户管理最佳实践
- 创建用户时应使用
-m参数自动创建主目录 - 使用
-s参数指定合适的登录 shell - 修改用户组权限时务必使用
-aG避免移除原有权限
2. 安全配置建议
- 实施密码策略,定期强制修改密码
- 为不同团队创建独立的组和权限
- 使用 SSH 密钥认证替代密码登录
- 定期审计用户权限和登录状态
3. 数据保护措施
- 删除用户前务必备份重要数据
- 设置适当的文件权限和所有权
- 对敏感目录启用 SGID 位确保文件继承正确组权限
4. 运维管理技巧
- 使用完整参数名称编写脚本提高可读性
- 建立标准的用户入职和离职流程
- 定期检查系统日志和登录记录
通过系统化的用户和组管理,可以确保 Linux 系统的安全性和可维护性,同时提高团队协作效率。