CentOS7用户和组的管理命令(centos 用户组)

在 CentOS 7 中,用户与用户组的关系是权限管理的核心机制,通过组机制可高效分配系统资源访问权限。

用户与组的关系类型

  1. 主要组(Primary Group)
  • 每个用户必须属于一个主要组(默认与用户名同名)。
  • 用户创建文件时,文件的默认属组即用户的主要组。
  • 示例:用户 user1 的主要组为 user1,新建文件属组自动为 user1。
  1. 附加组(Supplementary Group)
  • 用户可加入多个附加组,继承这些组的权限。
  • 示例:开发人员 dev1 加入 developers 组后,可访问该组共享目录。
  1. 关系模型
  • 一对一:用户仅属于一个组(如系统服务账户)。
  • 一对多:用户属于多个组(常见于权限分层场景)。
  • 多对一:多个用户同属一个组(如团队共享资源)。
  • 多对多:用户跨多个组,组包含多个用户(复杂权限管理)。

用户组管理关键命令

  • groupadd创建新组:groupadd developers如图1所示
  • usermod -aG添加用户到附加组(不覆盖原组):usermod -aG developers dev1如图2所示
  • gpasswd -a添加用户到组(支持组管理员操作):gpasswd -a dev1 developers如图3所示
  • gpasswd -d从组中移除用户:gpasswd -d dev1 testers如图4所示
  • groups查看用户所属组:groups dev1如图5所示
  • id显示用户UID、GID及组列表:id dev1如图6所示

典型操作示例

场景1:创建组并添加用户

  1. 创建开发组groupadd deve如图7所示
  1. 添加用户dev1到developers组(同时保留原组)usermod -aG developers dev1如图8所示
  1. 验证组成员groups dev1如图9所示

场景2:多用户共享资源组

  • 创建项目资源组groupadd project-alpha如图10所示
  • 批量添加开发与测试人员

usermod -aG project-alpha dev1如图11所示

usermod -aG project-alpha tester1如图11所示

  • 查看组内用户getent group project-alpha如图11所示

场景3:移除用户或删除组

  • 从组中移除用户gpasswd -d dev1 project-alpha如图12所示
  • 删除空组(需先移除成员)groupdel project-alpha如图13所示

文件权限与用户组的协同

通过组权限控制文件访问,避免逐用户授权:如图14所示

# 创建共享目录并设组为developers
mkdir /var/dev-share
chown :developers /var/dev-share # 修改属组
chmod 770 /var/dev-share # 组内用户可读写执行
# 验证:dev1用户可在目录中创建文件
su - dev1 -c "touch /var/dev-share/test.txt"

总结

用户与组的关系在 CentOS 7 中通过 主要组(必须)附加组(可选) 实现权限分层管理,核心操作包括:
1 用 groupadd/groupdel 管理组生命周期;
2 用 usermod -aG 或 gpasswd -a 动态调整用户组归属;
3 结合 chown 和 chmod 设置组权限目录,实现资源安全共享。
通过组机制,可大幅简化多用户环境下的权限分配,提升系统管理效率与安全性。

原文链接:,转发请注明来源!