useradd xxx 添加用户时,默认用户的组就是用户名
提问: usermod -g 有了这个命令给用户分配了一个组,还有必要使用usermod -G 命令用于修改用户的附加组列表吗?
答:是的,usermod -g
和 usermod -G
在修改用户组方面有不同的用途。
-
usermod -g
这个命令用于修改用户的主要组(primary group)。每个用户只能有一个主要组,该组在文件系统中通常与用户的UID相关联,用于确定新创建文件的默认组所有权。 -
usermod -G 组1,组2,...
这个命令用于修改用户的附加组(secondary groups 或 supplementary groups)列表。用户可以有多个附加组,这些组用于提供额外的权限或资源访问
例如,假设你有一个用户 john
,你想让他成为 staff
组的主要成员,并希望他还能够访问 developers
和 sysadmin
这两个附加组。你可以这样操作:
- 使用
usermod -g staff john
将john
的主要组更改为staff
。 - 使用
usermod -G developers,sysadmin john
将developers
和sysadmin
添加到john
的附加组列表中。
这样,john
就成为了 staff
组的主要成员,并且还是 developers
和 sysadmin
这两个附加组的成员
总结:
- 使用
usermod -g
设置主要组是为了控制新创建文件/目录的默认组所有权。 - 使用
usermod -G
设置附加组是为了提供额外的访问权限给特定的文件/目录。 - 根据你的需求,你可能需要同时使用这两个命令来正确配置用户的组权限。