使用 Oracle® Solaris 11.2 目录和命名服务:LDAP

退出打印视图

更新时间: 2014 年 7 月
 
 

登录功能不起作用

在登录期间,LDAP 客户机使用 PAM 模块进行用户验证。在使用标准的 UNIX PAM 模块时,口令是从服务器读取并在客户机端检查的。该过程可能会因下列原因之一而失败:

  • ldap 未与名称服务转换中的 passwd 数据库相关联。

  • 代理无法读取服务器列表中用户的 userPassword 属性。您需要至少允许一个代理可以读取口令,因为该代理需要将口令返回给客户机进行比较。pam_ldap 不需要对口令具有读取访问权限。

  • 代理可能没有正确的口令。

  • 该项没有 shadowAccount 对象类。

  • 没有为该用户定义口令。

    在使用 ldapaddent 时,必须使用 –p 选项确保已向该用户项中添加了口令。如果您使用不带有 –p 选项的 ldapaddent,用户的口令将不存储在目录中,除非使用 ldapaddent 另外添加了 /etc/shadow 文件。

  • 没有可访问的 LDAP 服务器。

    检查服务器的状态。

    # /usr/lib/ldap/ldap_cachemgr -g
  • pam.conf 的配置有误。

  • 没有在 LDAP 名称空间中定义该用户。

  • pam_unix_* 模块将 NS_LDAP_CREDENTIAL_LEVEL 设置为了 anonymous,且 userPassword 对匿名用户不可用。

  • 口令没有以 crypt 格式存储。

  • 如果所配置的 pam_ldap 支持帐户管理,则登录失败可能是由以下某种原因引起的:

    • 用户的口令已过期。

    • 用户的帐户由于登录失败尝试的次数过多而被锁定。

    • 用户的帐户已被管理员停用。

    • 用户尝试使用非基于口令的程序(例如 sshsftp)进行登录。

  • 如果使用了每用户验证方式和 sasl/GSSAPI,则 Kerberos 的某个组件或 pam_krb5 配置设置有误。有关解决这些问题的详细信息,请参阅在 Oracle Solaris 11.2 中管理 Kerberos 和其他验证服务