插件窝 干货文章 linux 组的作用是什么

linux 组的作用是什么

用户 权限 文件 访问 835    来源:    2025-04-29

在 Linux 系统中,组(Group)是用户管理的重要机制,主要用于以下核心作用:


1. 权限管理与资源共享

  • 文件/目录权限控制
    Linux 通过用户(User)、组(Group)、其他(Other)三个层级分配权限(读 r、写 w、执行 x)。组允许将多个用户归类,统一授予对文件或目录的访问权限。
    示例
    bash chgrp developers /project/code # 将文件归属组设为 "developers" chmod 770 /project/code # 组内成员可读、写、执行
  • 共享资源访问
    组内的用户可共享访问同一组下的文件、设备(如打印机)或进程资源。

2. 简化权限分配

  • 无需为每个用户单独设置权限,只需将用户加入对应组,即可自动继承组权限。
    示例
    bash usermod -aG sales alice # 将用户 alice 加入 "sales" 组

3. 系统管理与分工

  • 角色隔离:通过组划分不同职能(如 adminsdevelopersauditors),实现最小权限原则。
  • 服务管理:某些系统服务(如 dockerwww-data)通过专属组限制访问权限。

4. 特殊组的功能

  • 主组(Primary Group):用户创建文件时默认归属的组(存储在 /etc/passwd)。
  • 附加组(Secondary Group):用户可属于多个附加组,扩展权限范围。
  • 系统保留组:如 root(超级用户)、sudo(允许提权)、wheel(旧系统管理组)。

关键命令

命令 作用
groups 查看用户所属组
usermod -aG 组名 用户名 将用户加入组
newgrp 组名 切换用户的主组(临时)
chgrp 组名 文件 修改文件的所属组
getent group 组名 查看组信息(包含成员)

配置文件

  • /etc/group:存储组定义(组名、GID、成员列表)。
  • /etc/gshadow:存储组密码(极少使用)。

应用场景示例

  • 团队协作:开发团队共享代码目录,组权限设为 rwx
  • 系统安全:限制 sudo 组仅允许管理员使用 sudo 命令。
  • 服务隔离:Web 服务器进程以 www-data 组运行,限制文件访问范围。

通过合理使用组,可以高效管理多用户环境下的权限和资源访问。