6.11. pam_group-修改组访问权限的模块

pam_group.so

6.11.1. DESCRIPTION

pam_group PAM 模块不对用户进行身份验证,而是向用户授予组成员身份(在身份验证模块的凭据设置阶段)。此类成员资格基于他们所申请的服务。

默认情况下,组成员身份规则取自配置文件/etc/security/group.conf

该模块的有用性取决于用户可访问的文件系统。关键是一旦授予组成员身份,用户就可以尝试创建具有受限组所有权的setgid二进制文件。以后,当没有向用户授予该组的成员身份时,他们可以使用预编译的二进制文件恢复组成员身份。用户可以访问的文件系统之所以如此重要,是因为这样的事实:当安装系统* nosuid 时,用户无法创建或执行这样的二进制文件。为了使该模块提供任何级别的安全性,应该安装用户具有写访问权的所有文件系统 nosuid *。

pam_group 模块与/etc/group文件并行运行。如果根据此模块的行为向用户授予了任何组,则除这些条目/etc/group(或等效项)外,还将向他们授予这些组。

6.11.2. DESCRIPTION

pam_group PAM 模块不对用户进行身份验证,而是向用户授予组成员身份(在身份验证模块的凭据设置阶段)。此类成员资格基于他们所申请的服务。

为了使该模块正常运行,必须存在格式正确的/etc/security/group.conf文件。空格被忽略,并且行可能以''扩展(换行符)。 '#'之后的文本将被忽略到行尾。

这些行的语法如下:

services ; ttys ; users ; times ; groups

第一个字段* services *字段是规则适用的 PAM 服务名称的逻辑列表。

第二个字段* tty *字段是此规则适用的终端名称的逻辑列表。

第三个字段* users *字段是此规则适用的用户或 UNIX 组或用户网络组的逻辑列表。组名前面带有“%”符号,而网组名称前面带有“ @”符号。

逻辑列表即表示各个标记,这些标记可选地以“!”为前缀(逻辑非),并以'&'(逻辑与)和'|'分隔(逻辑或)。

对于这些项目,简单的通配符'*'只能使用一次。对于 UNIX 组或网络组,不允许使用通配符或逻辑运算符。

每个日期/时间范围都可以加上“!”前缀表示“除了”。时间范围部分是两个 24 小时制 HHMM,中间用连字符隔开,指示开始时间和结束时间(如果结束时间小于第二天的开始时间,则视为开始时间)。

为了使规则有效,应用过程必须满足所有服务 ttys 用户的要求。

6.11.3. OPTIONS

该模块无法识别任何选项。

6.11.4. 提供的模块类型

仅提供auth模块类型。

6.11.5. 返回值

6.11.6. FILES

6.11.7. EXAMPLES

这些是可能在/etc/security/group.conf中指定的示例行。

在 tty *(任何 ttyXXX 设备)上运行“ xsh”,用户“ us”被授予对软盘的访问权限(通过软盘组的成员身份)

xsh;tty*&!ttyp*;us;Al0000-2400;floppy

在工作时间之后,通过在 tty *(任何 ttyXXX 设备)上运行“ xsh”,可以使用户“ sword”,“ pike”和“ shield”(通过软盘组的成员身份)访问游戏。

xsh; tty* ;sword|pike|shield;!Wk0900-1800;games, sound
xsh; tty* ;*;Al0900-1800;floppy

在 tty *上运行'xsh'的'admin'组的任何成员(在任何时候)都被授予对'plugdev'组的访问权限

xsh; tty* ;%admin;Al0000-2400;plugdev

6.11.8. AUTHORS

pam_group 由 Andrew G. Morgan<morgan@kernel.org>编写。

上一章 首页 下一章