管理用户主要组的成员
groupmems
命令允许用户管理他/她自己的组成员列表,而不需要超级用户权限。groupmems
实用程序适用于将其用户配置为以他们自己的名义主组(即来宾/来宾)的系统。
只有作为管理员的超级用户可以使用 groupmems
来更改其他组的成员资格。
groupmems -a user_name | -d 用户名 | [-g 用户组名] | -l | -p
-a, --add user_name # 将用户添加到组成员列表。如果 /etc/gshadow 文件存在,并且该组在 /etc/gshadow 文件中没有条目,则将创建一个新条目。
-d, --delete user_name
# 从组成员列表中删除用户。
# 如果 /etc/gshadow 文件存在,用户将从组的成员和管理员列表中删除。
# 如果 /etc/gshadow 文件存在,并且该组在 /etc/gshadow 文件中没有条目,则将创建一个新条目。
-g, --group group_name # 超级用户可以指定要修改的组成员列表。
-l, --list # 列出组成员列表。
-p, --purge # 从组成员列表中清除所有用户。
# 如果 /etc/gshadow 文件存在,并且该组在 /etc/gshadow 文件中没有条目,则将创建一个新条目。
/etc/login.defs
中的以下配置变量会更改此工具的行为:
MAX_MEMBERS_PER_GROUP (number)
每个组条目的最大成员数。 当达到最大值时,在 /etc/group
中启动一个新的组条目(行)(具有相同的名称、相同的密码和相同的 GID)。
默认值为 0,表示组中的成员数量没有限制。
此功能(拆分组)允许限制组文件中的行长度。 这有助于确保 NIS 组的行不超过 1024 个字符。
如果你需要强制执行这样的限制,你可以使用 25。
注意:并非所有工具都支持拆分组(即使在 Shadow 工具包中)。 除非你真的需要它,否则你不应该使用这个变量。
groupmems 可执行文件应该在模式 2770 中作为用户 root 和组组。 系统管理员可以将用户添加到组中,以允许或禁止他们使用 groupmems 实用程序来管理他们自己的组成员列表。
$ groupadd -r groups
$ chmod 2770 groupmems
$ chown root.groups groupmems
$ groupmems -g groups -a gk4
让我们创建一个新用户和一个新组并验证结果:
$ useradd student
$ passwd student
$ groupadd staff
使用户 student 成为组人员的成员:
$ groupmems -g staff -a student
$ groupmems -g staff -l
将用户添加到组:
$ groupmems -a mike -g SUPPORT
$ groupmems --add mike -g SUPPORT
从组中删除/移除用户:
$ groupmems -d mike SUPPORT -g SUPPORT
$ groupmems --delete mike SUPPORT -g SUPPORT
更改组名称:
$ groupmems -g SUPPORT
从组中删除用户:
$ groupmems -p -g SUPPORT
$ groupmems --purge -g SUPPORT
要列出组的成员:
$ groupmems -l -g SUPPORT
$ groupmems --list -g SUPPORT