Linux 用户与组管理练习题完整操作步骤
一、核心概念理解
- 用户与用户组
- 用户(User):Linux 系统的访问主体,每个用户有唯一的 UID(用户ID),用于标识身份、分配权限。
- 用户组(Group):多个用户的集合,通过组管理可批量分配权限,方便团队文件共享,每个组有唯一的 GID(组ID)。
- 关系:一个用户可属于多个组(主组+附属组),主组在创建用户时自动生成,附属组通过 usermod 追加。
- 关键配置文件
表格
文件路径 作用 核心字段
/etc/passwd 存储用户基本信息 用户名:密码占位符:UID:GID:备注:家目录:登录Shell
/etc/shadow 存储用户加密密码 仅 root 可读,包含密码哈希、过期时间等
/etc/group 存储组信息 组名:密码占位符:GID:组内用户列表
二、用户管理核心命令
- useradd —— 创建新用户
- 用途:新建系统用户,自动创建家目录(默认 /home/用户名 )和主组。
- 常用参数:
- -c :设置用户备注(对应 /etc/passwd 第5字段)
- -d :指定自定义家目录
- -g :指定主组 GID/组名
- -G :指定附属组(多个用逗号分隔)
- -s :指定登录 Shell(如 /bin/bash )
- 示例:
- passwd —— 设置/修改用户密码
- 用途:为用户设置密码,普通用户只能修改自己的密码,root 可修改任意用户密码。
- 常用参数:
- -l :锁定用户密码(禁止登录)
- -u :解锁用户密码
- -d :删除用户密码(允许空密码登录)
- 示例:
- usermod —— 修改用户属性
- 用途:修改已存在用户的各项配置(备注、组、Shell 等)。
- 常用参数:
- -c :修改备注字段
- -aG :追加用户到附属组(必须加 -a ,否则会覆盖原有附属组)
- -s :修改登录 Shell
- -l :修改用户名
- 示例:
- userdel —— 删除用户
- 用途:删除系统用户及相关配置。
- 常用参数:
- -r :同时删除用户家目录和邮件池(推荐使用,避免残留文件)
- 示例:
三、组管理核心命令
- groupadd —— 创建新组
- 用途:新建用户组,用于批量管理用户权限。
- 常用参数:
- -g :指定自定义 GID(需未被占用)
- 示例:
- groupmod —— 修改组属性
- 用途:修改组名或 GID。
- 常用参数:
- -n :修改组名
- -g :修改 GID
- 示例:
- groupdel —— 删除组
- 用途:删除空用户组(组内不能有主组用户,否则需先修改用户主组)。
- 示例:
四、文件权限与归属管理核心命令
- ls -l —— 查看文件权限与归属
- 用途:查看文件/目录的权限、属主、属组等信息。
- 输出格式:
- 第1位:文件类型( - 普通文件, d 目录, l 软链接)
- 第2-4位:属主权限( r 读, w 写, x 执行)
- 第5-7位:属组权限
- 第8-10位:其他用户权限
- 后续字段:属主、属组、大小、修改时间、文件名
- chown —— 修改文件/目录归属
- 用途:修改文件/目录的属主和/或属组。
- 常用参数:
- -R :递归修改目录下所有子文件/子目录
- 格式: chown [选项] 属主:属组 文件/目录
- 示例:
- chmod —— 修改文件/目录权限
- 用途:修改文件/目录的访问权限,支持符号模式和数字模式。
- 常用参数:
- -R :递归修改目录下所有内容
- 符号模式: u (属主) g (属组) o (其他) a (所有), + (添加) - (移除) = (赋值)
- 示例: chmod g+rw testfile.txt (给属组添加读写权限)
- 数字模式: r=4 , w=2 , x=1 ,权限值为三者之和
- 示例: chmod 664 testfile.txt (属主/组:读写,其他:读)
五、常见问题与注意事项
- 权限不足:所有管理命令( useradd / groupadd / chown 等)需 sudo 或 root 权限执行。
- 组覆盖风险: usermod -G 会覆盖用户原有附属组,必须加 -a ( -aG )才是追加。
- 删除用户: userdel 不加 -r 会残留家目录,可能占用磁盘空间或引发权限问题。
- 密码安全:密码需包含大小写字母、数字、特殊字符,避免使用简单密码。
- graph TD
A[Linux 用户与组管理] --> B[用户管理]
A --> C[组管理]
A --> D[权限管理]
B --> B1[useradd:创建用户]
B --> B2[passwd:设置密码]
B --> B3[usermod:修改用户]
B --> B4[userdel:删除用户]
C --> C1[groupadd:创建组]
C --> C2[groupmod:修改组]
C --> C3[groupdel:删除组]
D --> D1[ls -l:查看权限]
D --> D2[chown:修改归属]
D --> D3[chmod:修改权限]
B1 --> E1[/etc/passwd:用户信息]
B2 --> E2[/etc/shadow:密码信息]
C1 --> E3[/etc/group:组信息]