/etc/group in Linux
本文将深入探讨Linux系统中的/etc/group
文件,详细解析其结构、操作步骤、命令示例及注意事项。
文件结构
/etc/group
文件存储了Linux系统中的组信息,每行代表一个组,字段间由冒号:`
分隔。格式如下:
- 组名
- 组ID (GID)
- 组用户列表
示例:
G_wheel:x:10:root,bin,adm
基本操作命令
1. 查看组信息
getent
命令:
getent group wheel
输出:
wheel:x:10:root,bin,adm
cat
命令:
cat /etc/group | grep wheel
2. 添加组
使用groupadd
命令:
groupadd mygroup
添加后/etc/group
将包含:
mygroup:x:1001:
指定GID
:
groupadd -g 2000 mygroup
3. 修改组
修改组名
:
groupmod -n newgroup mygroup
修改GID
:
groupmod -g 2001 mygroup
4. 删除组
groupdel
命令:
groupdel mygroup
5. 添加用户到组
gpasswd
命令:
gpasswd -a user mygroup
直接编辑
:
echo "user" >> /etc/group | grep mygroup
注意事项
- GID唯一性:每个GID必须唯一
- root组:GID为0,系统必须存在
- 默认用户:
bin
,sys
等是标准组 - 权限问题:需root权限执行修改操作
实用技巧
- 批量添加用户:
for i in {1..100}; do useradd user$i; done; gpasswd -a user1-{2..100} mygroup
- 检查组成员:
getent group mygroup | cut -d: -f4
- 临时切换用户:
su - -l user -c "command"