在Linux系统中,用户组(Group)是权限管理的重要机制,主要分为以下三种类型,每种类型有不同的特点和用途:
/etc/passwd
文件中(每行的第4字段)。alice
的主用户组为 developers
,则其新建文件的属组自动为 developers
。bash
# 创建用户时指定主组
useradd -g developers alice
/etc/group
文件中(每行的最后字段)。bob
属于主组 staff
,同时加入附加组 docker
和 sudo
以获取相应权限。bash
# 将用户加入附加组
usermod -aG docker,sudo bob
charlie
时未指定组,系统自动生成组 charlie
并设为其主组。/home/charlie
)的权限默认为 drwx------
,属组为私有组。0-999
(不同发行版可能不同),用于系统服务或守护进程(如 www-data
、syslog
)。1000
开始,供普通用户使用。/etc/passwd
/etc/group
组名:x:GID:成员列表
)。/etc/gshadow
功能 | 命令示例 |
---|---|
创建组 | groupadd developers |
修改用户主组 | usermod -g developers alice |
添加用户到附加组 | usermod -aG sudo bob |
查看用户所属组 | groups alice 或 id alice |
删除组 | groupdel developers |
通过合理分配用户组类型,可以实现精细的权限控制(如共享目录、限制服务访问等)。如果需要更复杂的权限管理,还可结合 ACL(访问控制列表) 或 sudo权限 进一步扩展。