在Linux系统中,用户组(Group)是权限管理的重要机制,主要分为以下三种类型,每种类型有不同的特点和用途:
/etc/passwd 文件中(每行的第4字段)。alice 的主用户组为 developers,则其新建文件的属组自动为 developers。bash
# 创建用户时指定主组
useradd -g developers alice/etc/group 文件中(每行的最后字段)。bob 属于主组 staff,同时加入附加组 docker 和 sudo 以获取相应权限。bash
# 将用户加入附加组
usermod -aG docker,sudo bobcharlie 时未指定组,系统自动生成组 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权限 进一步扩展。