JavaScript is required to for searching.
跳过导航链接
退出打印视图
在 Oracle Solaris 11.1 中使用命名和目录服务     Oracle Solaris 11.1 Information Library (简体中文)
为本文档评分
search filter icon
search icon

文档信息

前言

第 1 部分关于命名和目录服务

1.  命名和目录服务(概述)

2.  名称服务转换(概述)

3.  管理 DNS(任务)

4.  设置 Oracle Solaris Active Directory 客户机(任务)

第 2 部分NIS 设置和管理

5.  网络信息服务(概述)

6.  设置和配置 NIS(任务)

7.  管理 NIS(任务)

8.  NIS 故障排除

第 3 部分LDAP 命名服务

9.  LDAP 命名服务介绍(概述)

10.  LDAP 命名服务的规划要求(任务)

11.  为使用 LDAP 客户机设置 Oracle Directory Server Enterprise Edition(任务)

12.  设置 LDAP 客户机(任务)

13.  LDAP 故障排除(参考信息)

监视 LDAP 客户机状态

验证 ldap_cachemgr 守护进程是否正在运行

检查当前的配置文件信息

验证基本的客户机/服务器通信

从非客户机检查服务器数据

LDAP 配置问题及解决方案

未解析的主机名

无法远程访问 LDAP 域中的系统

登录功能不起作用

查找速度太慢

ldapclient 命令无法绑定到服务器

使用 ldap_cachemgr 守护进程进行调试

ldapclient 命令在设置期间挂起

14.  LDAP 命名服务(参考信息)

15.  从 NIS 转换为 LDAP(任务)

词汇表

索引

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

LDAP 配置问题及解决方案

以下各节描述了 LDAP 的配置问题以及建议的解决方案。

未解析的主机名

LDAP 客户机后端针对主机查找返回全限定的主机名,例如由 gethostbyname()getaddrinfo() 返回的主机名。如果存储的名称是限定名称(即至少包含一个点),则客户机将按原样返回该名称。例如,如果存储的名称是 hostB.eng,则返回的名称是 hostB.eng

如果 LDAP 目录中存储的名称不是限定名称(即不包含点),则客户机后端会在该名称后面附加域名部分。例如,如果存储的名称是 hostA,则返回的名称是 hostA.domainname

无法远程访问 LDAP 域中的系统

如果 DNS 域名不同于 LDAP 域名,除非所存储的主机名是全限定名称,否则 LDAP 命名服务不能用于提供主机名。

登录功能不起作用

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

  1. ldap 没有与名称服务转换中的 passwd 数据库相关联。

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

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

  4. 该项没有 shadowAccount 对象类。

  5. 没有为该用户定义口令。

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

  6. 没有可访问的 LDAP 服务器。

    检查服务器的状态。

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

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

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

  10. 口令没有以 crypt 格式存储。

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

    • 用户的口令已过期。

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

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

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

  12. 如果使用了每用户验证方式和 sasl/GSSAPI,则 Kerberos 的某个组件或 pam_krb5 配置的设置有误。有关解决这些问题的详细信息,请参阅《Oracle Solaris 11.1 管理:安全服务》

查找速度太慢

LDAP 数据库依赖索引来改进搜索性能。如果索引的配置有误,会大大降低性能。本文档中包括一组应当编制索引的常见属性。您也可以添加自己的索引来提高站点的性能。

ldapclient 命令无法绑定到服务器

在指定了 profileName 属性的情况下使用 init 选项时,ldapclient 命令未能初始化客户机。失败的可能原因包括:

  1. 命令行上指定的域名有误。

  2. 没有在 DIT 中设置 nisDomain 属性,该属性表示指定客户机域的入口点。

  3. 未在服务器上正确设置访问控制信息,从而无法在 LDAP 数据库中进行匿名搜索。

  4. ldapclient 命令传递了错误的服务器地址。请使用 ldapsearch 命令验证服务器地址。

  5. ldapclient 命令传递了错误的配置文件名称。请使用 ldapsearch 命令验证 DIT 中的配置文件名称。

  6. 对客户机网络接口使用 snoop,看传出的是哪种通信,并确定哪台服务器正与之通信。

使用 ldap_cachemgr 守护进程进行调试

在使用 -g 选项的情况下运行 ldap_cachemgr 守护进程可能是一个非常有用的调试方法,因为您可以查看当前客户机配置和统计信息。例如,

# ldap_cachemgr -g 

将按上面提到的那样,在标准输出中列显当前的配置和统计信息(包括所有 LDAP 服务器的状态)。请注意,不必成为超级用户即可执行此命令。

ldapclient 命令在设置期间挂起

如果 ldapclient 命令挂起,则在恢复先前的环境之后按 Ctrl-C 将退出。如果出现这种情况,请与服务器管理员核对,以确保该服务器正在运行。

还要在配置文件中或从命令行检查服务器列表中的属性,并确保服务器信息正确无误。