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 组或网络组,不允许使用通配符或逻辑运算符。

  • times *字段用于指示“何时”将这些组提供给用户。此处的格式是日期/时间范围条目的逻辑列表。日期由两个字符 Importing 序列指定,例如 MoTuSa 是星期一,星期二和星期六。请注意,未设置重复的天数 MoMo =否,MoWk =周一的所有工作日。接受的两个字符组合是 Mo Tu We Th Fr Sa Su Wk Wd Al,最后两个分别是周末和一周中的所有 7 天。最后一个例子是,AlFr 表示除星期五外的所有日子。

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

  • groups *字段是用户继承其成员身份的组的逗号或空格分隔列表。如果用户的请求满足了先前的字段,则会添加这些组。

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

6.11.3. OPTIONS

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

6.11.4. 提供的模块类型

仅提供auth模块类型。

6.11.5. 返回值

  • PAM_SUCCESS

    • 授予组成员身份。
  • PAM_ABORT

    • 并非所有相关数据都能获得。
  • PAM_BUF_ERR

    • 内存缓冲区错误。
  • PAM_CRED_ERR

    • 未授予组成员身份。
  • PAM_IGNORE

    • pam_sm_authenticate被呼叫,它什么都不做。
  • PAM_USER_UNKNOWN

    • 该系统未知用户。

6.11.6. FILES

  • /etc/security/group.conf

    • 默认配置文件

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<[email protected]>编写。