在Linux中,用户组用于批量管理权限。把权限赋给某个组后,组内用户就可以继承对应权限。
一、用户组管理
对用户组的操作,本质上是在读写/etc/group等系统配置文件。
| 功能 | 命令示例 | 参数说明 |
|---|---|---|
| 添加组 | groupadd -g 520 dev | -g指定GID;不指定时系统会自动分配 |
| 修改组 | groupmod -g 666 -n newdev olddev | -g修改GID;-n修改组名 |
| 删除组 | groupdel dev | 如果该组是某个用户的主组,通常无法直接删除 |
二、核心配置文件
Linux不只靠名字识别用户和组,更关键的是配置文件中的UID和GID。
1./etc/passwd
/etc/passwd保存用户基本信息。每一行代表一个用户,由7个字段组成,通过:分隔。
示例:
text
root:x:0:0:root:/root:/bin/bash字段含义:
- 用户名:登录时输入的名称。
- 口令占位符:通常显示为
x,表示加密密码保存在/etc/shadow中。 - UID:用户ID,
0代表root用户。 - GID:主组ID,对应
/etc/group中的组ID。 - 注释:用户描述信息。
- 主目录:用户登录后的默认目录。
- 登录Shell:用户使用的命令解释器。
2./etc/group
/etc/group保存用户组信息。
示例:
text
dev:x:520:user1,user2格式:
text
组名:组密码占位符:GID:组内用户列表3./etc/shadow
/etc/shadow专门存放加密后的密码。
/etc/passwd需要让很多程序读取,权限通常较开放。为了安全,真实密码信息会放到只有root能读取的/etc/shadow中。
三、常用技巧
id:查看当前用户的UID、GID以及所属用户组。id 用户名:查看指定用户的身份信息。groups:查看当前用户所属用户组。newgrp 组名:临时切换当前有效组。