关于用户和用户组的相关命令
以下命令均是在超级用户(root)下运行的:
假设有个普通用户(life)
1.期望将他加入到一个新的用户组(group1):
目标用户组不存在,可以先创建该组,使用 groupadd 命令:
groupadd group1
将用户(life)添加到用户组(group1)
usermod -aG group1 life
参数的解释:
-a 参数(--append)
- 作用:
-a参数用于追加用户到新的附加组,而不会移除用户已经属于的其他组。 - 使用限制:
-a必须和-G参数一起使用。单独使用-a参数没有意义,因为它的作用是将用户加入-G参数指定的附加组。
-G 参数(--groups)
- 作用:
-G参数用于指定用户所属的附加组(不包括主组)。 - 覆盖行为:如果没有使用
-a参数,-G会替换用户当前的附加组。也就是说,用户只会被分配到-G参数中指定的组,而其他附加组会被移除。
结合使用 -a 和 -G
-
-aG一起使用:这是最常见的用法,确保用户被添加到指定的组中,并且不会丢失当前附加组的成员资格。 -
添加用户到新组后,用户通常需要 注销并重新登录,才能使更改生效
2.如果想要修改用户的主组(primary group)而不是附加组,可以使用 usermod 命令的 -g 参数。-g 参数用于指定用户的新主组,它会将用户的主组更改为你指定的组,而不会影响用户的附加组。
usermod -g group1 life
- 在执行这个命令之后,用户
life的主组将被更改为group1,而life的附加组不会受到影响。
3.查询用户的主组和附加组
命令id 能查看用户的详细信息,包括 UID、GID(主组 ID)和附加组
id life
命令groups 能查看用户的主组和附属组,具体形式(主组:主组 附属组...)
groups life
🎯如下是具体是实践


浙公网安备 33010602011771号