在 Linux 系统管理中,群组(Group)是权限管理的基础单元,合理修改群组信息有助于系统安全与资源分配,本文将详细介绍 Linux 下修改群组的常用方法,包括创建群组、修改群组属性、删除群组及管理群组成员等操作,帮助用户掌握群组管理的核心技能。

创建新群组
使用 groupadd 命令可快速创建新群组,基本语法为 groupadd [选项] 群组名,常用选项包括:
-g:指定群组 ID(GID),若不指定则系统自动分配;-r:创建系统群组,GID 会小于 999(具体值取决于系统配置)。
创建 GID 为 2000 的开发群组 devgroup:
sudo groupadd -g 2000 devgroup
创建系统群组 sysgroup:
sudo groupadd -r sysgroup
创建后可通过 cat /etc/group 或 getent group 群组名 验证群组信息。
修改群组属性
修改群组名称
使用 groupmod 命令可重命名群组,语法为 groupmod -n 新群组名 原群组名,将 devgroup 重命名为 developer:

sudo groupmod -n developer devgroup
修改群组 ID
若需调整群组的 GID,可通过 -g 选项实现,但需注意避免与其他群组冲突,将 developer 的 GID 改为 3000:
sudo groupmod -g 3000 developer
锁定/解锁群组
通过 passwd -l 和 passwd -u 可分别锁定群组(禁止修改群组密码)和解锁群组,但需注意该操作仅对使用群组密码的系统有效(现代 Linux 系统较少使用群组密码)。
管理群组成员
群组成员管理主要通过 usermod 和 gpasswd 命令实现。
添加用户到群组
- 单个用户:
sudo usermod -aG 群组名 用户名(-a表示追加,避免覆盖原有群组); - 批量添加:可通过 
gpasswd -M "用户1,用户2" 群组名一次性设置多个成员。 
将用户 alice 和 bob 添加到 developer 群组:
sudo usermod -aG developer alice sudo usermod -aG developer bob
从群组移除用户
使用 gpasswd -d 用户名 群组名 可移除指定成员,移除 alice:

sudo gpasswd -d alice developer
设置群组管理员
通过 -A 选项可指定群组管理员,允许其管理群组成员,设置 bob 为 developer 的管理员:
sudo gpasswd -A bob developer
删除群组
使用 groupdel 命令可删除群组,语法为 sudo groupdel 群组名,需注意:
- 群组内不能有任何用户,否则删除失败;
 - 若需强制删除,需先移除所有成员(通过 
usermod修改用户的所属群组)。 
删除 developer 群组:
sudo groupdel developer
群组管理常用命令速查
| 命令 | 功能描述 | 示例 | 
|---|---|---|
groupadd | 
创建新群组 | sudo groupadd testgroup | 
groupmod | 
修改群组属性(名称、ID等) | sudo groupmod -g 1000 testgroup | 
groupdel | 
删除群组 | sudo groupdel testgroup | 
gpasswd | 
管理群组成员和密码 | sudo gpasswd -a user testgroup | 
usermod | 
修改用户信息(包括群组) | sudo usermod -G group1,group2 user | 
注意事项
- 权限操作需谨慎:修改系统关键群组(如 
root、sudo)可能导致权限异常,建议在测试环境验证; - GID 唯一性:手动指定 GID 时,需确保 
/etc/group和/etc/gshadow中无重复; - 用户登录影响:修改用户所属群组后,需重新登录才能生效,或使用 
newgrp命令临时切换群组。 
通过以上方法,可灵活管理 Linux 系统中的群组,实现精细化的权限控制,实际操作中,建议结合 id 命令(如 id -Gn 用户名)查看用户所属群组,确保操作结果符合预期。




















