Arthur de Jong nss-ldapd.conf 5 Version 0.1 System Manager's Manual Dec 2006 nss-ldapd.conf configuration file for LDAP nameservice provider Description The nss-ldapd module allows LDAP directory servers to be used as a primary source of name service information. (Name service information typically includes users, hosts, groups, and other such data historically stored in flat files or NIS.) The file nss-ldapd.conf contains the configuration information for running nslcd (see nslcd8). The file contains options, one on each line, defining the way NSS lookups are translated into LDAP lookups. Options General connection options URI Specifies the LDAP URI of the server to connect to. The URI scheme may be ldap, ldapi or ldaps, specifying LDAP over TCP, ICP or SSL respectively (if supported by the LDAP library). This option may be specified multiple times. Normally, only the first server will be used with the following servers as fallback (see below). If LDAP lookups are used for host name resolution, any host names should be specified as an IP address or name that can be resolved without using LDAP. VERSION Specifies the version of the LDAP protocol to use. The default is to use the maximum version supported by the LDAP library. DN Specifies the distinguished name with which to bind to the directory server for normal (non-root) lookups. The default is to bind anonymously. Also see the option below. PASSWORD Specifies the cleartext credentials with which to bind. This option is only applicable when used with above. When binding to the directory using SASL or other authentication mechanisms apart from simple binds, this option is not used. DN This option has the same syntax and effect as the option above, except it applies when the effective user ID of the process requesting the looking is zero. If not specified, then the identity specified in is used instead. PASSWORD Specifies the cleartext credentials with which to bind when using the option. This option has the same syntax and effect as the above. SASL authentication options sasl_authid <authid> Specifies the authorization identity to be used when performing SASL authentication. rootsasl_auth_id <authid> Specifies the authorization identity to be used when performing SASL authentication as root (when the effective user ID is zero). sasl_secprops <properties> Specifies Cyrus SASL security properties. Allowed values are described in the ldap.conf(5) manual page. rootuse_sasl <yes|no> Specifies whether SASL authentication should be used when the effective user ID is zero. Kerberos authentication options krb5_ccname <PREFIX:args> If nss_ldap is built with configurable GSS-API credentials cache name support, specifies the Kerberos credentials cache to use. Search/mapping options base <base> Specifies the default base distinguished name (DN) to use for searches. scope <sub|one|base> Specifies the search scope (subtree, one level or base object). The default scope is subtree; base scope is almost never useful for nameservice lookups. deref <never|searching|finding|always> Specifies the policy for dereferencing aliases. The default policy is to never dereference aliases. referrals <yes|no> Specifies whether automatic referral chasing should be enabled. The default behaviour is specifed by the LDAP client library. nss_base_<map> <basedn?scope?filter> Specify the search base, scope and filter to be used for specific maps. (Note that map forms part of the configuration file keyword and is one of passwd, shadow, group, hosts, services, networks, protocols, rpc, ethers, netmasks, bootparams, aliases and netgroup.) The syntax of basedn and scope are the same as for the configuration file options of the same name, with the addition of being able to omit the trailing suffix of the base DN (in which case the global base DN will be appended instead). The filter is a search filter to be added to the default search filter for a specific map, such that the effective filter is the logical intersection of the two. The base DN, scope and filter are separated with literal question marks (?) as given above; this is for compatibility with the DUA configuration profile schema and the ldapprofile tool. This option may be specified multiple times. nss_map_attribute <from_attribute> <to_attribute> This option may be specified multiple times, and directs nss_ldap to use the attribute to_attribute instead of the RFC 2307 attribute from_attribute in all lookups. If nss_ldap was built without schema mapping support, then this option is ignored. nss_map_objectclass <from_objectclass> <to_objectclass> This option may be specified multiple times, and directs nss_ldap to use the object class to_objectclass instead of the RFC 2307 object class from_objectclass in all lookups. If nss_ldap was built without schema mapping support, then this option is ignored. nss_default_attribute_value <attribute> <value> Specifies the default value to use for entries that lack the specified attribute. This option may be specified multiple times, for different attributes. If nss_ldap was built without schema mapping support, then this option is ignored. nss_override_attribute_value <attribute> <value> Specifies a value to use for the specified attribute in preference to that contained in the actual entry. This option may be specified multiple times, for different attributes. If nss_ldap was built without schema mapping support, then this option is ignored. Timing/reconnect options timelimit <timelimit> Specifies the time limit (in seconds) to use when performing searches. A value of zero (0), which is the default, is to wait indefinitely for searches to be completed. bind_timelimit <timelimit> Specifies the time limit (in seconds) to use when connecting to the directory server. This is distinct from the time limit specified in timelimit and affects the initial server connection only. (Server connections are otherwise cached.) Only some LDAP client libraries have the underlying functionality necessary to support this option. The default bind timelimit is 30 seconds. bind_policy <hard_open|hard_init|soft> Specifies the policy to use for reconnecting to an unavailable LDAP server. The default is hard_open, which reconnects if opening the connection to the directory server failed. By contrast, hard_init reconnects if initializing the connection failed. Initializing may not actually contact the directory server, and it is possible that a malformed configuration file will trigger reconnection. If soft is specified, then nss_ldap will return immediately on server failure. All "hard" reconnect policies block with exponential backoff before retrying. nss_connect_policy <persist|oneshot> Determines whether nss_ldap persists connections. The default is for the connection to the LDAP server to remain open after the first request. idle_timelimit <timelimit> Specifies the time (in seconds) after which nss_ldap will close connections to the directory server. The default is not to time out connections. SSL/TLS options ssl <on|off|start_tls> Specifies whether to use SSL/TLS or not (the default is not to). If start_tls is specified then StartTLS is used rather than raw LDAP over SSL. Not all LDAP client libraries support both SSL and StartTLS, and all related configuration options. sslpath <cert7_path> For the Netscape and Mozilla LDAP client libraries only, this specifies the path to the X.509 certificate database. tls_checkpeer <yes|no> Specifies whether to require and verify the server certificate or not, when using SSL/TLS with the OpenLDAP client library. The default is to use the default behaviour of the client library; for OpenLDAP 2.0 and earlier it is "no", for OpenLDAP 2.1 and later it is "yes". At least one of tls_cacertdir and tls_cacertfile is required if peer verification is enabled. tls_cacertdir <certificate_dir> Specifies the directory containing X.509 certificates for peer authentication. tls_cacertfile <certificate_file> Specifies the path to the X.509 certificate for peer authentication. tls_randfile <entropy_file> Specifies the path to an entropy source. tls_ciphers <ciphers> Specifies the ciphers to use for TLS. See your TLS implementation's documentation for further information. tls_cert <certificate_file> Specifies the path to the file containing the local certificate for client TLS authentication. tls_key <key_file> Specifies the path to the file containing the private key for client TLS authentication. Files /etc/nss-ldapd.conf the main configuration file /etc/nsswitch.conf Name Service Switch configuration file See Also nslcd8, nsswitch.conf5 Author This manual was written by Arthur de Jong <arthur@ch.tudelft.nl> and is based on the nss_ldap5 manual developed by PADL Software Pty Ltd. Known Bugs This manual page is probably outdated and inaccurate and will be improved in an upcoming release. The features of the nss-ldapd module are still under development so these options may change in a future release.