.TH SLAPO-NSSOV 5 "RELEASEDATE" "OpenLDAP LDVERSION" .\" Copyright 1998-2021 The OpenLDAP Foundation, All Rights Reserved. .\" Copying restrictions apply. See the COPYRIGHT file. .\" $OpenLDAP$ .SH NAME slapo-nssov \- NSS and PAM requests through a local Unix Domain socket .SH SYNOPSIS ETCDIR/slapd.conf .SH DESCRIPTION The .B nssov overlay to .BR slapd (8) services NSS and PAM requests through a local Unix Domain socket. It uses the same IPC protocol as Arthur de Jong's nss-pam-ldapd. An extract of the nss-ldapd source is included along with the nssov source code to allow the overlay to communicate with the nss-pam-ldapd client stubs. .LP Using a separate IPC protocol for NSS and PAM requests eliminates the libldap dependencies/clashes that the current pam_ldap/nss_ldap solutions all suffer from. Both the original nss-ldapd and this nssov solution are free from these library issues. .LP Unlike nss-pam-ldapd, since this overlay executes inside slapd it allows for the possibility of sophisticated caching, without any of the weaknesses of nscd and other related caching solutions. E.g., a remote LDAP database can be accessed using back-ldap with proxy caching (see .BR slapd-ldap (5) and .BR slapo-pcache (5) ) to leverage back-ldap's connection pooling as well as pcache's persistent caching, to provide high performance and a measure of support for disconnected operation. Alternatively, cache considerations can be completely eliminated by running a regular database with syncrepl to maintain synchronization with a remote LDAP database. .LP Another major benefit of nssov is that it allows all security policy to be administered centrally via LDAP, instead of having fragile rules scattered across multiple flat files. As such, there is no client-side configuration at all for the NSS/PAM stub libraries. (The stubs talk to the server via a Unix domain socket whose path is hardcoded to NSLCDPATH). As a side benefit, this can finally eliminate the perpetual confusion between OpenLDAP's ldap.conf file in ETCDIR/ldap.conf and the similarly named files typically used by pam_ldap and nss_ldap. .LP User authentication is performed by internal simple Binds. User authorization leverages the slapd ACL engine, which offers much more power and flexibility than the simple group/hostname checks in the old pam_ldap code. .LP To use this code, you will need the client-side stub library from nss-pam-ldapd. You can get it from: http://arthurdejong.org/nss-pam-ldapd You will not need the nslcd daemon; this overlay replaces that part. To disable building of the nslcd daemon in nss-pam-ldapd, add the --disable-nslcd option to the nss-pam-ldapd configure script. You should already be familiar with the RFC2307 and RFC2307bis schema to use this overlay. See the nss-pam-ldapd README for more information on the schema and which features are supported. .LP You will also need to include the nis.schema in your slapd configuration for RFC2307 support. If you wish to use RFC2307bis you will need a slightly different schema. You will also need the ldapns.schema for PAM authorization management. .LP You must select .B ldap in the appropriate services in .I /etc/nsswitch.conf in order for these NSS features to take effect. Likewise, you must enable .B pam_ldap for the authenticate, account, session, and password services in .I /etc/pam.conf or .I /etc/pam.d for these PAM features to take effect. .TP .B overlay nssov This directive adds the nssov overlay to the current backend. .TP .B nssov-ssd This directive configures a Service Search Descriptor (SSD) for each NSS service that will be used. The may be one of .RS .nf aliases ethers group hosts netgroup networks passwd protocols rpc services shadow .fi .RE and the must be of the form .RS .TP .B ldap:///[][??[][?]] .RE The .B will default to the first suffix of the current database. The .B defaults to "subtree". The default .B depends on which service is being used. .TP .B nssov-map If the local database is actually a proxy to a foreign LDAP server, some mapping of schema may be needed. This directive allows some simple attribute substitutions to be performed. See the .B nss-ldapd/README for the original attribute names used in this code. .TP .B nssov-pam