系统管理指南:名称和目录服务(DNS、NIS 和 LDAP)

监视 LDAP 客户机状态

以下各节介绍了各种可帮助确定 LDAP 客户机环境状态的命令。有关可以使用的选项的其他信息,另请参见相应的手册页。

有关服务管理工具的概述,请参阅System Administration Guide: Basic Administration中的“管理服务(概述)”。有关更多详细信息,另请参阅 svcadm(1M)svcs(1) 手册页。

验证 ldap_cachemgr 是否正在运行

ldap_cachemgr 守护进程必须一直正常运行。否则,系统将无法正常工作。当启动 LDAP 客户机时,客户机会自动启动 ldap_cachemgr 守护进程。因此,如果 ldap_cachemgr 未运行,LDAP 客户机将被禁用。下面是两种用于确定 LDAP 客户机是否联机的方法:

有关 ldap_cachemgr 守护进程的更多信息,请参见 ldap_cachemgr(1M) 手册页。

检查当前的配置文件信息

成为超级用户或承担等效角色,然后运行带 list 选项的 ldapclient


# ldapclient list

NS_LDAP_FILE_VERSION= 2.0

NS_LDAP_BINDDN= cn=proxyagent,ou=profile,dc=west,dc=example,dc=com

NS_LDAP_BINDPASSWD= {NS1}4a3788e8c053424f

NS_LDAP_SERVERS= 192.168.0.1, 192.168.0.10

NS_LDAP_SEARCH_BASEDN= dc=west,dc=example,dc=com

NS_LDAP_AUTH= simple

NS_LDAP_SEARCH_REF= TRUE

NS_LDAP_SEARCH_SCOPE= one

NS_LDAP_SEARCH_TIME= 30

NS_LDAP_SERVER_PREF= 192.168.0.1

NS_LDAP_PROFILE= pit1

NS_LDAP_CREDENTIAL_LEVEL= proxy

NS_LDAP_SERVICE_SEARCH_DESC= passwd:ou=people,?sub

NS_LDAP_SERVICE_SEARCH_DESC= group:ou=group,dc=west,dc=example,dc=com?one

NS_LDAP_BIND_TIME= 5

目前,/var/ldap 文件采用 ASCII 格式。因为文件有时可更改为二进制格式,所以串联文件会产生问题。可以使用 ldapclient list 来访问此信息。有关更多信息,请参见 ldapclient(1M) 手册页。

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

检查客户机是否正在与 LDAP 服务器通信的最佳方法是使用 ldaplist 命令。 使用不带任何参数的 ldaplist 会转储服务器上的所有容器。 只要这些容器存在且不必填充,此方法就起作用。有关更多信息,请参见 ldaplist(1) 手册页。

如果第一步起作用,则可以尝试使用 ldaplist passwd usernameldaplist hosts hostname,但是如果容器中包含大量数据,您可能需要选取一个填充量较小的服务,或者将它们传输到 headmore

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

以上各节中的大多数命令都假设您已经创建了 LDAP 客户机。 如果尚未创建客户机,请使用 ldapsearch 命令来检查服务器上的数据。 以下示例列出了所有容器:


# ldapsearch -h server1 -b "dc=west,dc=example,dc=com" -s one "objectclass=*"

在 Solaris 9 和早期版本中,在缺省情况下,ldapsearch 命令可生成非标准文本表示形式的输出。在以后的 Solaris 发行版中,ldapsearch 的缺省输出是行业标准化的 LDIF 格式,该格式由 RFC-2849 定义。所有版本的 ldapsearch 都可以使用 -L 选项输出 LDIF 格式。