创建用户组
使用 groupadd
命令创建新用户组。例如,创建一个名为 developers
的组:
sudo groupadd developers
验证组是否创建成功:
getent group developers
将用户添加到组
通过 usermod
命令将现有用户加入组。例如,将用户 john
添加到 developers
组:
sudo usermod -aG developers john
-aG
选项确保用户被追加到组而不影响其他组成员关系。
查看用户所属组
使用 groups
命令查看用户的组信息:
groups john
或通过 id
命令获取详细信息:
id john
从组中移除用户
使用 gpasswd
命令移除用户。例如,将 john
移出 developers
组:
sudo gpasswd -d john developers
删除用户组
通过 groupdel
命令删除组。例如,删除 developers
组:
sudo groupdel developers
注意:需确保组内无用户依赖此组作为主组。
修改组属性
使用 groupmod
修改组名称或 GID。例如,将 developers
组更名为 devteam
:
sudo groupmod -n devteam developers
修改组 GID(如改为 1005):
sudo groupmod -g 1005 devteam
设置组管理员
通过 gpasswd
指定组管理员。例如,设置 john
为 devteam
的管理员:
sudo gpasswd -A john devteam
管理员可添加或移除组成员。
文件权限与组关联
修改文件或目录的所属组:
sudo chgrp devteam /path/to/file
同时设置组读写权限:
chmod g+rw /path/to/file
检查系统所有组
查看 /etc/group
文件获取所有组列表:
cat /etc/group
临时切换有效组
用户可通过 newgrp
临时切换有效组(需为组成员):
newgrp devteam
注意事项
- 修改组属性可能影响文件访问权限,需谨慎操作。
- 删除组前需确认无用户将其作为主组(通过
getent passwd
检查)。 - 组权限与用户权限共同决定文件访问能力,可通过
ls -l
查看权限信息。