summaryrefslogtreecommitdiffstats
path: root/doc/man/man5/slapd.backends.5
blob: 00e4b6ad063259c31c75c12d440dbeb9fc4f4088 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
.TH SLAPD.BACKENDS 5 "RELEASEDATE" "OpenLDAP LDVERSION"
.\" Copyright 2006-2021 The OpenLDAP Foundation All Rights Reserved.
.\" Copying restrictions apply.  See COPYRIGHT/LICENSE.
.\" $OpenLDAP$
.SH NAME
slapd.backends \- backends for slapd, the stand-alone LDAP daemon
.SH DESCRIPTION
The
.BR slapd (8)
daemon can use a variety of different backends for serving LDAP requests.
Backends may be compiled statically into slapd, or when module support
is enabled, they may be dynamically loaded. Multiple instances of a
backend can be configured, to serve separate databases from the same
slapd server.


Configuration options for each backend are documented separately in the
corresponding
.BR slapd\-<backend> (5)
manual pages.
.TP
.B bdb
This was the recommended primary backend through OpenLDAP 2.3, but it has
since been superseded by the
.BR mdb
backend.  It takes care to configure it properly.
It uses the transactional database interface of the Oracle Berkeley
DB (BDB) package to store data.
.TP
.B config
This backend is used to manage the configuration of slapd at run-time.
Unlike other backends, only a single instance of the
.B config
backend may be defined. It also instantiates itself automatically,
so it is always present even if not explicitly defined in the
.BR slapd.conf (5)
file.
.TP
.B dnssrv
This backend is experimental.
It serves up referrals based upon SRV resource records held in the
Domain Name System.
.TP
.B hdb
This was the recommended primary backend through OpenLDAP 2.4.40 but it has
since been superseded by the
.BR mdb
backend.  It takes care to configure it properly.
.B hdb
is a variant of the
.B bdb
backend that uses a hierarchical database
layout.
This layout stores entry DNs more efficiently than the
.B bdb
backend,
using less space and requiring less work to create, delete, and rename
entries. It is also one of the few backends to support subtree renames.
.TP
.B ldap
This backend acts as a proxy to forward incoming requests to another
LDAP server.
.TP
.B ldif
This database uses the filesystem to build the tree structure
of the database, using plain ascii files to store data.
Its usage should be limited to very simple databases, where performance
is not a requirement. This backend also supports subtree renames.
.TP
.B mdb
This is the recommended primary backend, superseding
.BR hdb .
This backend uses OpenLDAP's own MDB transactional database
library. It is extremely compact and extremely efficient, delivering
much higher performance than the Berkeley DB backends while using
significantly less memory.  Also, unlike Berkeley DB, MDB is crash proof,
and requires no special tuning or maintenance.
This backend also supports subtree renames.
.TP
.B meta
This backend performs basic LDAP proxying with respect to a set of
remote LDAP servers. It is an enhancement of the
.B ldap
backend.
.TP
.B monitor
This backend provides information about the running status of the slapd
daemon. Only a single instance of the
.B monitor
backend may be defined.
.TP
.B ndb
This backend is experimental.
It uses the transactional database interface of the MySQL Cluster Engine
(NDB) to store data. Note that Oracle, which now owns MySQL, has withdrawn
support for NDB and this backend is unlikely to be developed any further.
.TP
.B null
Operations in this backend succeed but do nothing.
.TP
.B passwd
This backend is provided for demonstration purposes only.
It serves up user account information from the system
.BR passwd (5)
file.
.TP
.B perl
This backend embeds a
.BR perl (1)
interpreter into slapd.
It runs Perl subroutines to implement LDAP operations.
.TP
.B relay
This backend is experimental.
It redirects LDAP operations to another database
in the same server, based on the naming context of the request.
Its use requires the 
.B rwm
overlay (see
.BR slapo\-rwm (5)
for details) to rewrite the naming context of the request.
It is primarily intended to implement virtual views on databases
that actually store data.
.TP
.B shell
This backend executes external programs to implement LDAP operations.
It is primarily intended to be used in prototypes.
.TP
.B sql
This backend is experimental.
It services LDAP requests from an SQL database.
.SH FILES
.TP
ETCDIR/slapd.conf
default slapd configuration file
.TP
ETCDIR/slapd.d
default slapd configuration directory
.SH SEE ALSO
.BR ldap (3),
.BR slapd\-bdb (5),
.BR slapd\-config (5),
.BR slapd\-dnssrv (5),
.BR slapd\-hdb (5),
.BR slapd\-ldap (5),
.BR slapd\-ldif (5),
.BR slapd\-mdb (5),
.BR slapd\-meta (5),
.BR slapd\-monitor (5),
.BR slapd\-ndb (5),
.BR slapd\-null (5),
.BR slapd\-passwd (5),
.BR slapd\-perl (5),
.BR slapd\-relay (5),
.BR slapd\-shell (5),
.BR slapd\-sql (5),
.BR slapd.conf (5),
.BR slapd.overlays (5),
.BR slapd (8).
"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)
.SH ACKNOWLEDGEMENTS
.so ../Project