10.5. 使用命令行编辑用户组
用户属于某个组集合,允许用户的逻辑组集合对文件和文件夹具有类似的访问权限。您可以从命令行编辑主和补充用户组,以更改用户的权限。
10.5.1. 主和补充用户组
组是出于共同目的将多个用户帐户连接在一起的实体,例如对特定文件授予访问权限。
在 RHEL 中,用户组可以充当主或补充组。主和补充组具有以下属性:
- 主组
- 每个用户始终只有一个主组。
- 您可以更改用户的主组。
- 补充组
- 您可以将现有用户添加到现有的补充组中,以使用相同的安全和访问权限管理组中的用户。
- 用户可以是零、一个或多个补充组的成员。
10.5.2. 列出用户的主和补充组
您可以列出用户的组,以查看他们所属的主和补充组。
流程
显示用户的主组以及任何补充组的名称:
$ groups user-name
如果不提供用户名,则命令将显示当前用户的组成员身份。第一个组是主组,后跟可选的补充组。
例 10.3. 列出用户 sarah 的组:
$ groups sarah
输出显示:
sarah : sarah wheel developer
用户
arah
有一个主组sarah
,它是补充组wheel
和developer
的成员。
10.5.3. 更改用户的主组
您可以将现有用户的主组更改为一个新组。
先决条件:
-
root
访问权限 - 新组必须存在
流程
更改用户的主组:
# usermod -g <group-name> <user-name>
注意更改用户的主组时,命令还会将用户主目录中所有文件的组所有权自动更改为新的主组。您必须手动修复用户主目录外文件的组所有权。
验证您是否更改了用户的主组:
$ groups <username>
10.5.4. 从命令行将用户添加到补充组中
您可以将用户添加到补充组中,以管理权限或启用对特定文件或设备的访问权限。
先决条件
-
有
root
访问权限
流程
要在用户的附加组中添加一个组,请使用:
# usermod --append -G <group_name> <username>
验证
要验证新的组被添加到用户
sysadmin
的附加组中,请使用:# groups <username>
10.5.5. 从补充组中删除用户
您可以从补充组中删除现有的用户,以限制他们对文件和设备的权限或访问。
先决条件
-
有
root
访问权限
流程
从补充组中删除用户:
# gpasswd -d <user-name> <group-name>
验证
验证您是否从次要组 developers 中删除了用户 sarah:
$ groups <username>
10.5.6. 更改用户的所有补充组
您可以覆盖您希望用户保留其成员的补充组的列表。
先决条件
-
您有
root
访问权限。 - 补充组必须存在。
流程
覆盖用户的补充组的列表:
# usermod -G <group-names> <username>
要将用户一次添加到多个补充组中,请使用逗号分隔组名称,并且没有插入空格。例如:
wheel,developer
。重要如果用户是当前您未指定的组的成员,则该命令会从组中删除该用户。
验证
验证您是否正确设置了补充组列表:
# groups <username>