在 Linux 中,用户组(Group) 是为了方便“批量管理”权限而设计的。将权限赋予组,组内所有用户便自动继承。
一、 用户组管理
对组的操作,本质上都是在读写 /etc/group 文件。
| 功能 | 命令示例 | 参数说明 |
|---|---|---|
| 添加组 | groupadd -g 520 dev | -g:指定组 ID。若不指定则在最大 ID 基础上自增。 |
| 修改组 | groupmod -g 666 -n newdev olddev | -g:修改 GID;-n:修改组名。 |
| 删除组 | groupdel dev | 注意:若该组是某个用户的主组,则无法直接删除。 |
二、 核心配置文件
Linux 并不直接通过“名字”识别你,而是通过这几个核心文件里的 ID。
1. /etc/passwd(用户基本信息)
每一行代表一个用户,由 7 个字段 组成,通过 : 分割:
root : x : 0 : 0 : root : /root : /bin/bash
用户名:登录时输入的名称。
口令:显示为
x,表示加密密码保存在/etc/shadow中。UID:用户标识号(0 是 root,1-999 是系统用户)。
GID:组标识号(对应
/etc/group里的 ID)。注释:用户的描述信息。
主目录:用户登录后的默认“家”路径。
登录 Shell:用户使用的命令解析器。
2. /etc/group(用户组信息)
记录了系统中所有组的信息:
dev : x : 520 : user1,user2
- 格式:
组名 : 组密码 : GID : 组内用户列表
3. /etc/shadow(影子文件)
专门存放加密后的密码。由于 /etc/passwd 必须让所有程序都能读取(权限通常是 644),为了安全,密码被抽离到了只有 root 能读的 shadow 文件中。
三、 技巧
快速查自己:输入
id命令,可以直接看到当前用户的 UID、GID 以及所属的所有组。切换组:如果一个用户属于多个组,可以使用
newgrp 组名临时切换当前有效组。