gpasswd 是 linux 中安全管理用户组成员与管理员的核心命令,支持增量增删(-a/-d)、权限下放(-a)、批量覆盖(-m)及组密码控制(交互式设密/-r/-r),直接操作 /etc/group 和 /etc/gshadow。

gpasswd 是 Linux 运维中管理用户组成员和管理员最常用、最安全的命令之一,它直接操作 /etc/group 和 /etc/gshadow,支持增量增删、权限下放和批量管控,避免了 usermod -G 那类覆盖式操作带来的风险。
添加或移除组成员(推荐日常使用)
用 -a 和 -d 选项可安全地追加或删除单个用户,不影响该用户在其他组中的身份:
-
添加用户到 developers 组:
sudo gpasswd -a alice developers -
从 developers 组移除 bob:
sudo gpasswd -d bob developers - 普通用户若已是该组管理员,也可自行执行这些命令(无需 sudo)
设置组管理员(实现权限分治)
把管理权交给可信成员,减少 root 操作频次,提升协作效率:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
-
指定 carol 和 dan 为 testers 组管理员:
sudo gpasswd -A carol,dan testers - 设置后,carol 登录即可运行
gpasswd -a eve testers添加新成员 - 管理员不能删除自己,但可修改组密码、增删他人、查看组状态
批量重置整个组成员列表
使用 -M 会完全替换现有成员,适合初始化或强管控场景,务必确认名单再执行:
-
admins 组只保留 frank、grace、helen 三人:
sudo gpasswd -M frank,grace,helen admins -
清空组内所有成员:
sudo gpasswd -M "" admins - 注意:-M 不是追加,而是覆盖;与 -a/-d 逻辑完全不同
组密码与 newgrp 协作机制(按需启用)
虽然现代系统中较少启用组密码,但在临时协作、文件默认属组控制等场景仍有实用价值:
-
为 finance 组设置密码:
sudo gpasswd finance(交互式输入) -
移除密码:
sudo gpasswd -r finance -
限制仅组员可用 newgrp 切换:
sudo gpasswd -R finance - 非成员用户执行
newgrp finance时需输入密码,成功后新建文件默认属 finance 组










