使用usermod -G会覆盖用户附加组,需谨慎操作。例如sudo usermod -G wheel,docker alice将alice的附加组设为wheel和docker,清除原有其他附加组;若要保留原组,应先用groups alice查看当前组,再将原有组与新组一同列出,如sudo usermod -G wheel,docker,audio alice;清空附加组可用sudo usermod -G "" alice,但部分系统可能不支持空值赋组。关键在于-G参数会替换而非添加组,操作前建议用groups或id命令确认组成员情况。

使用usermod -G命令可以修改用户所属的附加组(即次要组)。这个操作会**覆盖**用户当前的所有附加组,而不是追加。因此在使用时需要特别注意是否保留原有组。
基本语法
usermod -G group1,group2,group3 username
将用户加入指定的多个组,同时移除该用户之前属于但未在列表中列出的所有附加组。
示例1:将用户加入多个附加组
把用户 alice 加入 wheel 和 docker 组:
sudo usermod -G wheel,docker alice
执行后,alice 的附加组变为 wheel 和 docker,之前其他的附加组将被清除。
示例2:避免丢失原有组
如果你想给用户添加一个新组而不影响现有组,先查看当前所属组:
groups alice
第1章Linux入门 1-1操作系统的特性 1-2安装设置 1-2-1硬盘分区 1-2-2设置LILO 1-2-3网络地址和时区设置 l-2-4设置系统管理员及一般用户的帐号密码 1-2-5系统安全认证 l-2-6选取安装套件 1-2-7设置显示卡及测试Xwindows l-2-8开始安装套件 l-3常用命令 l-4网络基本设
输出可能是:alice : alice wheel docker
现在为 alice 添加 audio 组,同时保留原有组:
sudo usermod -G wheel,docker,audio alice
示例3:清空附加组
若只想保留用户的主组,移除所有附加组,可将 -G 指定为空:
sudo usermod -G "" alice
注意:某些系统可能不支持直接赋空值,建议用 -g 修改主组或确认效果。
基本上就这些。关键点是 -G 会替换而非追加,操作前最好先用 groups 或 id 命令确认当前组成员情况。









