Contained WithinFind More DocumentationFeatured Support Resources | Download this book in PDF (2085 KB)
Chapter 13 LDAP Troubleshooting (Reference)This chapter describes configuration problems and suggests solutions for resolving them. Note – The LDAP service is managed by the Service Management Facility. Administrative actions on this service, such as enabling, disabling, or restarting, can be performed by using the svcadm command. See LDAP and the Service Management Facility for more information about using the Facility with LDAP. For an overview of the Facility, refer to Chapter 16, Managing Services (Overview), in System Administration Guide: Basic Administration. Also refer to the svcadm(1M) and svcs(1) man pages for more details. Monitoring LDAP Client StatusThe following sections show various commands to help determine the state of the LDAP client environment. Also see the man pages for additional information about the options that can be used. For an overview of the Service Management Facility, refer to Chapter 16, Managing Services (Overview), in System Administration Guide: Basic Administration. Also refer to the svcadm(1M) and svcs(1) man pages for more details. Verifying ldap_cachemgr Is RunningThe ldap_cachemgr daemon must be running and functioning correctly at all times. Otherwise, the system doesn't work. When you start the LDAP client, the client starts ldap_cachemgr daemon automatically. So, if the ldap_cachemgr is not running, the LDAP client will be disabled. Following are two methods for determining if the LDAP client is online.
For more information about the ldap_cachemgr daemon, see the ldap_cachemgr(1M) man page. Checking the Current Profile InformationBecome superuser or assume an equivalent role, and run ldapclient with the list option.
Currently the /var/ldap files are in ASCII format. Because the files could change to binary at some time, concatenating the files would cause problems. ldapclient list is the supported method for accessing this information. See the ldapclient(1M) man page for more information. Verifying Basic Client-Server CommunicationThe best way to show that your client is talking to the LDAP server is with the ldaplist command. Using ldaplist with no arguments dumps all the containers on the server. This works as long as the containers exist, and do not have to be populated. See the ldaplist(1) man page for more information. If the first step works, you can try ldaplist passwd username or ldaplist hosts hostname but if they contain lots of data you might want to pick a less populated service, or pipe them to head or more. Checking Server Data From a Non-Client MachineMost of the commands in the previous sections assume you already have created an LDAP client. If you have not created a client and want to check the data on the server, use the ldapsearch command. The following example lists all of the containers.
In Solaris 9 and earlier releases, the ldapsearch command, by default, produced output in a nonstandard textual representation. The default output for ldapsearch in later Solaris releases is the industry standardized LDIF format that is defined by RFC-2849. All versions of ldapsearch can output LDIF format using the -L option. LDAP Configuration Problems and SolutionsThe following sections describe LDAP configuration problems and suggests solutions to the problems. Unresolved HostnameThe Solaris platform LDAP client back end returns fully qualified host names for host lookups, such as host names returned by gethostbyname() and getaddrinfo(). If the name stored is qualified, that is, contains at least one dot, the client returns the name as is. For example, if the name stored is hostB.eng, the returned name is hostB.eng. If the name stored in the LDAP directory is not qualified (it does not contain a dot), the client back end appends the domain part to the name. For example, if the name stored is hostA, the returned name is hostA.domainname. Unable to Reach Systems in the LDAP Domain RemotelyIf the DNS domain name is different from the LDAP domain name, then the LDAP naming service cannot be used to serve host names unless the host names are stored fully qualified. Login Does Not WorkLDAP clients use the PAM modules for user authentication during login. When using the standard UNIX PAM module, the password is read from the server and checked on the client side. This can fail due to one of the following reasons:
Lookup Too SlowThe LDAP database relies on indexes to improve search performance. A major performance degradation occurs when indexes are improperly configured. The documentation includes a common set of attributes that should be indexed. You can also add your own indexes to improve performance at your site. ldapclient Cannot Bind to Serverldapclient failed to initialize the client when using the init option with the profileName attribute specified. Possible reasons for failure include the following:
Using ldap_cachemgr for DebuggingUsing ldap_cachemgr with the -g option can be a useful way to debug, as you can view the current client configuration and statistics. For example,
would print current configuration and statistics to standard output, including the status of all LDAP servers, as mentioned previously. Note that you do not need to become super user to execute this command. ldapclient Hangs During SetupIf the ldapclient command hangs, pressing Ctrl-C will exit after restoring the previous environment. If this happens, check with the server administrator to ensure that the server is running. Also check the server list attributes in either the profile or from the command line and make sure that the server information is correct. |
|||||||