以下命令均是在超级用户(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
标签:life,用户组,用户,附加,命令,参数,主组,group1 From: https://www.cnblogs.com/Forgotten-melody/p/18404883