实现 pam_ldap 时,用户使用在 pam_ldap 的 serviceAuthenticationMethod 参数(如果存在的话)中定义的验证方法绑定到 LDAP 服务器。否则,将使用 authenticationMethod。
如果 pam_ldap 能够使用用户的标识和提供的口令绑定到服务器,它将对用户进行验证。
启用 pam_ldap 帐户管理之后,所有用户在每次登录系统时都必须提供口令。进行验证时必须提供登录口令。因此,使用 rsh、rlogin 或 ssh 等工具进行的不基于口令的登录将会失败。
pam_ldap 不读取 userPassword 属性。因此,除非其他客户机正在使用 pam_unix,否则无需授予对 userPassword 属性的读取访问权限。此外,pam_ldap 不支持 none 验证方法。因此,您必须定义 serviceAuthenticationMethod 或 authenticationMethod 属性,以便客户机可以使用 pam_ldap。有关更多信息,请参见 pam_ldap(5) 手册页。
 注意 –
注意 – 如果使用 simple 验证方法,则 userPassword 属性在传输过程中可被第三方读取。
下表概述了 pam_unix 和 pam_ldap 之间的主要区别。
表 9–5 pam_unix 与 pam_ldap| 
 | pam_unix | pam_ldap | 
|---|---|---|
| 口令的发送方式 | 使用 passwd 服务验证方法 | 使用 passwd 服务验证方法 | 
| 新口令的发送方式 | 加密 | 不加密(除非使用 TLS) | 
| 新口令的存储方式 | crypt 格式 | Sun Java System Directory Server 中定义的口令存储方案 | 
| 是否需要读取口令? | 是 | 否 | 
| 更改口令之后,是否与 sasl/digest-MD5 兼容 | 否。口令不以 clear 形式存储。用户无法进行验证。 | 是。只要将缺省的存储方案设置为 clear,用户就可以进行验证。 |