关于用户和用户组的相关命令

以下命令均是在超级用户(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

🎯如下是具体是实践

posted @ 2024-09-09 17:05  想吃烧饼  阅读(89)  评论(0)    收藏  举报