1 | groupmems
|
2 | ===
|
3 |
|
4 | 管理用户主要组的成员
|
5 |
|
6 | ## 补充说明
|
7 |
|
8 | `groupmems` 命令允许用户管理他/她自己的组成员列表,而不需要超级用户权限。`groupmems` 实用程序适用于将其用户配置为以他们自己的名义主组(即来宾/来宾)的系统。
|
9 |
|
10 | 只有作为管理员的超级用户可以使用 `groupmems` 来更改其他组的成员资格。
|
11 |
|
12 | ### 语法
|
13 |
|
14 | ```shell
|
15 | groupmems -a user_name | -d 用户名 | [-g 用户组名] | -l | -p
|
16 | ```
|
17 |
|
18 | ### 选项
|
19 |
|
20 | ```bash
|
21 | -a, --add user_name # 将用户添加到组成员列表。如果 /etc/gshadow 文件存在,并且该组在 /etc/gshadow 文件中没有条目,则将创建一个新条目。
|
22 |
|
23 | -d, --delete user_name
|
24 | # 从组成员列表中删除用户。
|
25 | # 如果 /etc/gshadow 文件存在,用户将从组的成员和管理员列表中删除。
|
26 | # 如果 /etc/gshadow 文件存在,并且该组在 /etc/gshadow 文件中没有条目,则将创建一个新条目。
|
27 |
|
28 | -g, --group group_name # 超级用户可以指定要修改的组成员列表。
|
29 | -l, --list # 列出组成员列表。
|
30 | -p, --purge # 从组成员列表中清除所有用户。
|
31 | # 如果 /etc/gshadow 文件存在,并且该组在 /etc/gshadow 文件中没有条目,则将创建一个新条目。
|
32 | ```
|
33 |
|
34 | ## 配置
|
35 |
|
36 | `/etc/login.defs` 中的以下配置变量会更改此工具的行为:
|
37 |
|
38 | ```shell
|
39 | MAX_MEMBERS_PER_GROUP (number)
|
40 | ```
|
41 |
|
42 | 每个组条目的最大成员数。 当达到最大值时,在 `/etc/group` 中启动一个新的组条目(行)(具有相同的名称、相同的密码和相同的 GID)。
|
43 |
|
44 | 默认值为 0,表示组中的成员数量没有限制。
|
45 |
|
46 | 此功能(拆分组)允许限制组文件中的行长度。 这有助于确保 NIS 组的行不超过 1024 个字符。
|
47 |
|
48 | 如果你需要强制执行这样的限制,你可以使用 25。
|
49 |
|
50 | 注意:并非所有工具都支持拆分组(即使在 Shadow 工具包中)。 除非你真的需要它,否则你不应该使用这个变量。
|
51 |
|
52 | ## 例子
|
53 |
|
54 | groupmems 可执行文件应该在模式 2770 中作为用户 root 和组组。 系统管理员可以将用户添加到组中,以允许或禁止他们使用 groupmems 实用程序来管理他们自己的组成员列表。
|
55 |
|
56 | ```shell
|
57 | groupadd -r groups
|
58 | chmod 2770 groupmems
|
59 |
|
60 | chown root.groups groupmems
|
61 | groupmems -g groups -a gk4
|
62 | ```
|
63 |
|
64 | 让我们创建一个新用户和一个新组并验证结果:
|
65 |
|
66 | ```shell
|
67 | useradd student
|
68 | passwd student
|
69 | groupadd staff
|
70 | ```
|
71 |
|
72 | 使用户 student 成为组人员的成员:
|
73 |
|
74 | ```shell
|
75 | groupmems -g staff -a student
|
76 | groupmems -g staff -l
|
77 | ```
|
78 |
|
79 | 将用户添加到组:
|
80 |
|
81 | ```shell
|
82 | groupmems -a mike -g SUPPORT
|
83 | groupmems --add mike -g SUPPORT
|
84 | ```
|
85 |
|
86 | 从组中删除/移除用户:
|
87 |
|
88 | ```shell
|
89 | groupmems -d mike SUPPORT -g SUPPORT
|
90 | groupmems --delete mike SUPPORT -g SUPPORT
|
91 | ```
|
92 |
|
93 | 更改组名称:
|
94 |
|
95 | ```shell
|
96 | groupmems -g SUPPORT
|
97 | ```
|
98 |
|
99 | 从组中删除用户:
|
100 |
|
101 | ```shell
|
102 | groupmems -p -g SUPPORT
|
103 | groupmems --purge -g SUPPORT
|
104 | ```
|
105 |
|
106 | 要列出组的成员:
|
107 |
|
108 | ```shell
|
109 | groupmems -l -g SUPPORT
|
110 | groupmems --list -g SUPPORT
|
111 | ```
|