| 跳过导航链接 | |
| 退出打印视图 | |
|
系统管理指南:命名和目录服务(DNS、NIS 和 LDAP) Oracle Solaris 10 8/11 Information Library (简体中文) |
4. 网络信息服务 (Network Information Service, NIS)(概述)
11. 为使用 LDAP 客户机设置 Sun Java System Directory Server(任务)
以下各节介绍了各种可帮助确定 LDAP 客户机环境状态的命令。有关可以使用的选项的其他信息,另请参见相应的手册页。
有关服务管理工具的概述,请参阅《系统管理指南:基本管理》中的第 18 章 "管理服务(概述)"。有关更多详细信息,另请参阅 svcadm(1M) 和 svcs(1) 手册页。
ldap_cachemgr 守护进程必须一直正常运行。否则,系统将无法正常工作。当启动 LDAP 客户机时,客户机会自动启动 ldap_cachemgr 守护进程。因此,如果 ldap_cachemgr 未运行,LDAP 客户机将被禁用。下面两种方法可以判断 LDAP 客户机是否联机。
使用 svcs 命令。
# svcs \*ldap\* STATE STIME FMRI disabled Aug_24 svc:/network/ldap/client:default
或
# svcs -l network/ldap/client:default fmri svc:/network/ldap/client:default enabled true state online next_state none restarter svc:/system/svc/restarter:default contract_id 1598 dependency require_all/none file://localhost/var/ldap/ldap_client_file (-) dependency require_all/none svc:/network/initial (online) dependency require_all/none svc:/system/filesystem/minimal (online)
向 ldap_cachemgr 传递 -g 选项。
此选项提供更广泛的状态信息,这些信息对于问题的诊断很有帮助。
# /usr/lib/ldap/ldap_cachemgr -g
cachemgr configuration:
server debug level 0
server log file "/var/ldap/cachemgr.log"
number of calls to ldapcachemgr 19
cachemgr cache data statistics:
Configuration refresh information:
Previous refresh time: 2001/11/16 18:33:28
Next refresh time: 2001/11/16 18:43:28
Server information:
Previous refresh time: 2001/11/16 18:33:28
Next refresh time: 2001/11/16 18:36:08
server: 192.168.0.0, status: UP
server: 192.168.0.1, status: ERROR
error message: Can't connect to the LDAP server
Cache data information:
Maximum cache entries: 256
Number of cache entries: 2有关 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 username 或 ldaplist hosts hostname,但是如果容器中包含大量数据,您可能需要选取一个置备量较小的服务,或者将它们传输到 head 或 more。
以上各节中的大多数命令都假设您已经创建了 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 格式。