1 Copyright 2008 Howard Chu, Symas Corp. All rights reserved.
3 Redistribution and use in source and binary forms, with or without
4 modification, are permitted only as authorized by the OpenLDAP
7 A copy of this license is available in the file LICENSE in the
8 top-level directory of the distribution or, alternatively, at
9 <http://www.OpenLDAP.org/license.html>.
11 This directory contains a slapd overlay, nssov, that handles
12 NSS lookup requests through a local Unix Domain socket. It uses the
13 same IPC protocol as Arthur de Jong's nss-ldapd, and a complete
14 copy of the nss-ldapd source is included here.
16 To use this code, you will need the client-side stub library from
17 nss-ldapd (which resides in nss-ldapd/nss). You will not need the
18 nslcd daemon; this overlay replaces that part. You should already
19 be familiar with the RFC2307 and RFC2307bis schema to use this
20 overlay. See the nss-ldapd/README for more information on the
21 schema and which features are supported.
23 To use the overlay, add:
25 include <path to>nis.schema
27 moduleload <path to>nssov.so
34 to your slapd configuration file. (The nis.schema file contains
35 the original RFC2307 schema. Some modifications will be needed to
38 The overlay must be configured with Service Search Descriptors (SSDs)
39 for each NSS service that will be used. SSDs are configured using
41 nssov-svc <service> <url>
43 where the <service> may be one of
56 and the <url> must be of the form
57 ldap:///[<basedn>][??[<scope>][?<filter>]]
59 The <basedn> will default to the first suffix of the current database.
60 The <scope> defaults to "subtree". The default <filter> depends on which
61 service is being used.
63 If the local database is actually a proxy to a foreign LDAP server, some
64 mapping of schema may be needed. Some simple attribute substitutions may
67 nssov-map <service> <orig> <new>
69 See the nss-ldapd/README for the original attribute names used in this code.
71 The overlay also supports dynamic configuration in cn=config. The layout
72 of the config entry is
74 dn: olcOverlay={0}nssov,ocDatabase={1}hdb,cn=config
75 objectClass: olcOverlayConfig
76 objectClass: olcNssOvConfig
78 olcNssSvc: passwd ldap:///ou=users,dc=example,dc=com??one
79 olcNssMap: passwd uid accountName
81 which enables the passwd service, and uses the accountName attribute to
82 fetch what is usually retrieved from the uid attribute.