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: preoperationnsslapd-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: ALLOWpamExcludeSuffix: 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: FALSEpamSecure: 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 |
定义在 | 目录服务器 |