4.6. PAM 通过身份验证插件属性

Unix 系统上的本地 PAM 配置可以利用 LDAP 用户的外部身份验证存储。这是一个传递身份验证的一种形式,它允许 Directory 服务器使用外部存储的用户凭证进行目录访问。

PAM 传递身份验证会在 PAM Pass Auth Plug-in 容器条目下的子条目中配置。PAM 验证的所有可能配置属性(在 60pam-plugin.ldif 架构文件中定义)都可用于子条目,子条目必须是 PAM 配置对象类的实例。

例 4.1. PAM 通过身份验证配置条目示例

 dn: cn=PAM Pass Through Auth,cn=plugins,cn=config
 objectClass: top
 objectClass: nsSlapdPlugin
 objectClass: extensibleObject
 objectClass: pamConfig
 cn: PAM Pass Through Auth
 nsslapd-pluginPath: libpam-passthru-plugin
 nsslapd-pluginInitfunc: pam_passthruauth_init
 nsslapd-pluginType: preoperation
 nsslapd-pluginEnabled: on
 nsslapd-pluginLoadGlobal: true
 nsslapd-plugin-depends-on-type: database
 nsslapd-pluginId: pam_passthruauth
 nsslapd-pluginVersion: 9.0.0
 nsslapd-pluginVendor: Red Hat
 nsslapd-pluginDescription: PAM pass through authentication plugin

 dn: cn=Example PAM Config,cn=PAM Pass Through Auth,cn=plugins,cn=config
 objectClass: top
 objectClass: nsSlapdPlugin
 objectClass: extensibleObject
 objectClass: pamConfig
 cn: Example PAM Config
 pamMissingSuffix: ALLOW
 pamExcludeSuffix: cn=config
 pamIDMapMethod: RDN ou=people,dc=example,dc=com
 pamIDMapMethod: ENTRY ou=engineering,dc=example,dc=com
 pamIDAttr: customPamUid
 pamFilter: (manager=uid=bjensen,ou=people,dc=example,dc=com)
 pamFallback: FALSE
 pamSecure: TRUE
 pamService: ldapserver

PAM 配置至少必须定义一个映射方法(确定 PAM 用户 ID 来自 Directory 服务器条目的方法)、PAM 服务器要使用的 PAM 服务器,以及是否使用与该服务的安全连接。

pamIDMapMethod: RDN
pamSecure: FALSE
pamService: ldapserver

可以为特殊设置扩展配置,如排除或特别包含子树,或者将特定属性值映射到 PAM 用户 ID。

4.6.1. pamConfig(Object Class)

此对象类用于定义 PAM 配置,以便与目录服务交互。这个对象类在 Directory Server 中定义。

卓越的类

top

OID

2.16.840.1.113730.3.2.318

4.6.2. pamExcludeSuffix

此属性指定从 PAM 验证中排除的后缀。

OID

2.16.840.1.113730.3.1.2068

语法

DN

多值或 Single-Valued

多值

定义在

目录服务器

4.6.3. pamFallback

如果 PAM 验证失败,则将是否回退到常规 LDAP 身份验证。

OID

2.16.840.1.113730.3.1.2072

语法

布尔值

多值或 Single-Valued

single-valued

定义在

目录服务器

4.6.4. pamFilter

设置 LDAP 过滤器,用于标识所含后缀中的特定条目,该后缀可用于使用 PAM 直通身份验证。如果没有设置,则后缀中的所有条目都作为配置条目的目标。

OID

2.16.840.1.113730.3.1.2131

语法

布尔值

多值或 Single-Valued

single-valued

定义在

目录服务器

4.6.5. pamIDAttr

此属性包含用于存放 PAM 用户 ID 的属性名称。

OID

2.16.840.1.113730.3.1.2071

语法

DirectoryString

多值或 Single-Valued

多值

定义在

目录服务器

4.6.6. pamIDMapMethod

给出将 LDAP 绑定 DN 映射到 PAM 身份的方法。

注意

目录服务器用户帐户激活仅通过 ENTRY 映射方法进行验证。使用 RDN 或 DN 时,帐户处于激活的目录服务器用户仍可成功绑定到服务器。

OID

2.16.840.1.113730.3.1.2070

语法

DirectoryString

多值或 Single-Valued

single-valued

定义在

目录服务器

4.6.7. pamIncludeSuffix

此属性将后缀设置为包括 PAM 验证。

OID

2.16.840.1.113730.3.1.2067

语法

DN

多值或 Single-Valued

多值

定义在

目录服务器

4.6.8. pamMissingSuffix

标识如何处理缺少的 include 或 exclude 后缀。选项为 ERROR(导致绑定操作失败);ALLOW,这会记录错误,但允许操作继续;而 IGNORE,允许操作记录任何错误。

OID

2.16.840.1.113730.3.1.2069

语法

DirectoryString

多值或 Single-Valued

single-valued

定义在

目录服务器

4.6.9. pamSecure

需要安全 TLS 连接才能进行 PAM 验证。

OID

2.16.840.1.113730.3.1.2073

语法

布尔值

多值或 Single-Valued

single-valued

定义在

目录服务器

4.6.10. pamService

包含要传递给 PAM 的服务名称。这假设指定的服务在 /etc/pam.d/ 目录中有一个配置文件。

重要

pam_fprintd.so 模块不能位于 PAM Pass- via Authentication Plug-in 配置的 pamService 属性所引用的配置文件中。使用 PAM pam_fprintd.so 模块会导致 Directory 服务器达到最大文件描述符限制,并可能导致 Directory Server 进程中止。

重要

pam_fprintd.so 模块不能位于 PAM Pass- via Authentication Plug-in 配置的 pamService 属性所引用的配置文件中。使用 PAM 指纹模块可导致 Directory 服务器达到最大文件描述符限制,并可能导致 Directory Server 进程中止。

OID

2.16.840.1.113730.3.1.2074

语法

IA5String

多值或 Single-Valued

single-valued

定义在

目录服务器