【Linux】用户与组管理
文章目录
- 一、用户与组的意义
- 二、用户体系解析
- 三、组管理体系
- 四、权限控制模型
- 五、管理工具详解
- 六、权限提升机制
- 七、应用场景示例
一、用户与组的意义
Linux作为经典的多用户操作系统,其用户与组机制实现了三大核心功能:
- 资源隔离:不同用户拥有独立的工作空间(如/home目录),避免数据混乱
- 权限管控:通过权限分配控制文件/设备的访问,如禁止普通用户修改系统配置
- 安全审计:所有操作均可追溯至具体用户,为系统安全提供保障
二、用户体系解析
-
用户标识
- UID(用户ID):系统识别的数字标识,root用户固定为0
- 分类:
- 系统用户(UID 1-999):运行服务进程,如www-data用户运行Web服务
- 普通用户(UID ≥1000):通过
useradd
创建的实际使用者
-
用户配置文件
/etc/passwd
存储用户基本信息:username:x:UID:GID:描述:/home/dir:/bin/bash
/etc/shadow
加密存储密码及有效期策略
三、组管理体系
-
组标识
- GID(组ID):逻辑用户集合标识,root组为0
- 类型:
- 主组(Primary Group):用户创建文件时的默认所属组
- 附加组(Supplementary Group):用于扩展权限的辅助组
-
组配置文件
/etc/group
记录组信息:groupname:x:GID:成员列表
四、权限控制模型
-
三位一体权限
扩展阅读:深入理解 Linux 文件权限
-rwxr-xr-- 1 alice dev 4096 Jan 1 10:00 file.txt
- 所有者(alice):读写执行(rwx)
- 所属组(dev):读执行(r-x)
- 其他用户:只读(r–)
-
关键命令
chmod 755 file
:设置权限为rwxr-xr-xchown user:group file
:修改所有者和所属组
五、管理工具详解
命令 | 功能说明 | 常用参数示例 |
---|---|---|
useradd | 创建用户 | -m 创建家目录,-G 指定附加组 |
usermod | 修改用户属性 | -aG 追加附加组 |
passwd | 设置/修改密码 | -l 锁定账户 |
groupadd | 创建组 | -g 指定GID |
id | 查看用户身份信息 | username 查询指定用户 |
六、权限提升机制
-
su:切换用户身份
su - username # 完全环境切换
-
sudo:临时提权执行
- 配置路径:
/etc/sudoers
- 典型授权:
%admin ALL=(ALL) NOPASSWD: /usr/bin/apt
- 配置路径:
七、应用场景示例
-
团队协作开发
- 创建公共组
devteam
sudo groupadd devteam sudo usermod -aG devteam alice sudo usermod -aG devteam bob
- 设置共享目录:
chmod 2770 /project # SGID保持组权限 chown :devteam /project
- 创建公共组
-
服务账户管理
- 创建无登录权限的系统账户:
sudo useradd -r -s /usr/sbin/nologin mysql
通过合理配置用户与组,管理员可以构建灵活安全的权限体系,既满足多用户协作需求,又能有效防范越权访问风险。建议通过man useradd
等手册命令深入学习各工具的高级用法。