slapd-ldap.5 22.7 KB
Newer Older
1
.TH SLAPD-LDAP 5 "RELEASEDATE" "OpenLDAP LDVERSION"
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
2
.\" Copyright 1998-2013 The OpenLDAP Foundation All Rights Reserved.
3
4
5
.\" Copying restrictions apply.  See COPYRIGHT/LICENSE.
.\" $OpenLDAP$
.SH NAME
6
slapd\-ldap \- LDAP backend to slapd
7
8
9
10
11
12
13
14
15
.SH SYNOPSIS
ETCDIR/slapd.conf
.SH DESCRIPTION
The LDAP backend to
.BR slapd (8)
is not an actual database; instead it acts as a proxy to forward incoming
requests to another LDAP server. While processing requests it will also
chase referrals, so that referrals are fully processed instead of being
returned to the slapd client.
16
17
18
19
20
21
22
23
24

Sessions that explicitly Bind to the back-ldap database always create their
own private connection to the remote LDAP server. Anonymous sessions will
share a single anonymous connection to the remote server. For sessions bound
through other mechanisms, all sessions with the same DN will share the
same connection. This connection pooling strategy can enhance the proxy's
efficiency by reducing the overhead of repeatedly making/breaking multiple
connections.

Pierangelo Masarati's avatar
Pierangelo Masarati committed
25
26
27
28
29
30
The ldap database can also act as an information service, i.e. the identity
of locally authenticated clients is asserted to the remote server, possibly
in some modified form.
For this purpose, the proxy binds to the remote server with some 
administrative identity, and, if required, authorizes the asserted identity.
See the 
31
.IR idassert\- *
Pierangelo Masarati's avatar
Pierangelo Masarati committed
32
33
34
35
36
37
38
39
rules below.
The administrative identity of the proxy, on the remote server, must be 
allowed to authorize by means of appropriate
.B authzTo
rules; see 
.BR slapd.conf (5)
for details.

40
41
42
The proxy instance of
.BR slapd (8)
must contain schema information for the attributes and objectClasses
43
used in filters, request DNs and request-related data in general.
44
45
46
47
48
It should also contain schema information for the data returned
by the proxied server.
It is the responsibility of the proxy administrator to keep the schema
of the proxy lined up with that of the proxied server.

49
.LP
50
51
52
53
Note: When looping back to the same instance of
.BR slapd (8), 
each connection requires a new thread; as a consequence,
.BR slapd (8)
54
55
must be compiled with thread support, and the \fBthreads\fP parameter 
may need some tuning; in those cases, one may consider using 
56
.BR slapd\-relay (5)
57
instead, which performs the relayed operation 
Kurt Zeilenga's avatar
Kurt Zeilenga committed
58
internally and thus reuses the same connection.
59

60
61
62
63
64
65
66
67
68
.SH CONFIGURATION
These
.B slapd.conf
options apply to the LDAP backend database.
That is, they must follow a "database ldap" line and come before any
subsequent "backend" or "database" lines.
Other database options are described in the
.BR slapd.conf (5)
manual page.
69

70
.LP
71
Note: In early versions of back-ldap it was recommended to always set
72
.LP
73
.RS
74
.nf
75
lastmod  off
76
.fi
77
.RE
78
.LP
79
for 
80
81
82
.B ldap
and
.B meta
83
84
85
databases.
This was required because operational attributes related to entry creation 
and modification should not be proxied, as they could be mistakenly written
86
to the target server(s), generating an error.
87
88
The current implementation automatically sets lastmod to \fBoff\fP, 
so its use is redundant and should be omitted.
89

90
91
.TP
.B uri <ldapurl>
92
LDAP server to use.  Multiple URIs can be set in a single
93
94
.B ldapurl
argument, resulting in the underlying library automatically 
95
calling the first server of the list that responds, e.g.
96

97
\fBuri "ldap://host/ ldap://backup\-host/"\fP
98
99

The URI list is space- or comma-separated.
100
101
102
Whenever the server that responds is not the first one in the list,
the list is rearranged and the responsive server is moved to the head,
so that it will be first contacted the next time a connection
103
needs to be created.
104
105
.HP
.hy 0
106
.B acl\-bind
107
108
109
.B bindmethod=simple|sasl [binddn=<simple DN>] [credentials=<simple password>]
.B [saslmech=<SASL mech>] [secprops=<properties>] [realm=<realm>]
.B [authcId=<authentication ID>] [authzId=<authorization ID>]
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
110
.B [starttls=no|yes|critical]
Howard Chu's avatar
Howard Chu committed
111
112
113
114
115
116
.B [tls_cert=<file>]
.B [tls_key=<file>]
.B [tls_cacert=<file>]
.B [tls_cacertdir=<path>]
.B [tls_reqcert=never|allow|try|demand]
.B [tls_ciphersuite=<ciphers>]
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
117
.B [tls_protocol_min=<version>]
Howard Chu's avatar
Howard Chu committed
118
.B [tls_crlcheck=none|peer|all]
119
120
.RS
Allows to define the parameters of the authentication method that is 
121
122
123
internally used by the proxy to collect info related to access control,
and whenever an operation occurs with the identity of the rootdn
of the LDAP proxy database.
124
The identity defined by this directive, according to the properties
125
126
associated to the authentication method, is supposed to have read access 
on the target server to attributes used on the proxy for ACL checking.
127

128
129
There is no risk of giving away such values; they are only used to
check permissions.
130
The default is to use
131
132
.BR simple 
bind, with empty \fIbinddn\fP and \fIcredentials\fP,
133
which means that the related operations will be performed anonymously.
134
135
If not set, and if \fBidassert\-bind\fP is defined, this latter identity
is used instead.  See \fBidassert\-bind\fP for details.
136
137
138
139

The connection between the proxy database and the remote server
associated to this identity is cached regardless of the lifespan
of the client-proxy connection that first established it.
140

141
.B This identity is not implicitly used by the proxy
142
.B when the client connects anonymously.
143
The
144
.B idassert\-bind
145
146
feature, instead, in some cases can be crafted to implement that behavior,
which is \fIintrinsically unsafe and should be used with extreme care\fP.
147
This directive obsoletes
148
.BR acl\-authcDN ,
149
and
150
.BR acl\-passwd .
Howard Chu's avatar
Howard Chu committed
151
152
153
154
155

The TLS settings default to the same as the main slapd TLS settings,
except for
.B tls_reqcert
which defaults to "demand".
156
.RE
157

158
.TP
159
.B cancel {ABANDON|ignore|exop[\-discover]}
160
161
162
163
164
165
166
167
168
Defines how to handle operation cancellation.
By default,
.B abandon
is invoked, so the operation is abandoned immediately.
If set to
.BR ignore ,
no action is taken and any further response is ignored; this may result
in further response messages to be queued for that connection, so it is
recommended that long lasting connections are timed out either by
169
.I idle\-timeout
170
or
171
.IR conn\-ttl ,
172
173
174
175
176
177
178
179
180
181
182
so that resources eventually get released.
If set to
.BR exop ,
a
.I cancel
operation (RFC 3909) is issued, resulting in the cancellation 
of the current operation; the
.I cancel
operation waits for remote server response, so its use 
may not be recommended.
If set to
183
.BR exop\-discover ,
184
185
186
187
support of the
.I cancel 
extended operation is detected by reading the remote server's root DSE.

188
.TP
189
.B chase\-referrals {YES|no}
190
191
enable/disable automatic referral chasing, which is delegated to the
underlying libldap, with rebinding eventually performed if the
192
\fBrebind\-as\-user\fP directive is used.  The default is to chase referrals.
193
194

.TP
195
.B conn\-ttl <time>
196
This directive causes a cached connection to be dropped and recreated
197
198
199
after a given ttl, regardless of being idle or not.

.TP
200
.B idassert\-authzFrom <authz-regexp>
201
202
203
204
205
206
207
208
209
210
211
if defined, selects what
.I local
identities are authorized to exploit the identity assertion feature.
The string
.B <authz-regexp>
follows the rules defined for the
.I authzFrom
attribute.
See 
.BR slapd.conf (5),
section related to
212
.BR authz\-policy ,
213
214
for details on the syntax of this field.

215
216
.HP
.hy 0
217
.B idassert\-bind
218
219
220
221
.B bindmethod=none|simple|sasl [binddn=<simple DN>] [credentials=<simple password>]
.B [saslmech=<SASL mech>] [secprops=<properties>] [realm=<realm>]
.B [authcId=<authentication ID>] [authzId=<authorization ID>]
.B [authz={native|proxyauthz}] [mode=<mode>] [flags=<flags>]
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
222
.B [starttls=no|yes|critical]
Howard Chu's avatar
Howard Chu committed
223
224
225
226
227
228
.B [tls_cert=<file>]
.B [tls_key=<file>]
.B [tls_cacert=<file>]
.B [tls_cacertdir=<path>]
.B [tls_reqcert=never|allow|try|demand]
.B [tls_ciphersuite=<ciphers>]
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
229
.B [tls_protocol_min=<version>]
Howard Chu's avatar
Howard Chu committed
230
.B [tls_crlcheck=none|peer|all]
231
232
233
234
.RS
Allows to define the parameters of the authentication method that is 
internally used by the proxy to authorize connections that are 
authenticated by other databases.
235
236
Direct binds are always proxied without any idassert handling.

237
238
239
240
241
The identity defined by this directive, according to the properties
associated to the authentication method, is supposed to have auth access 
on the target server to attributes used on the proxy for authentication
and authorization, and to be allowed to authorize the users.
This requires to have
242
243
.B proxyAuthz
privileges on a wide set of DNs, e.g.
Pierangelo Masarati's avatar
Pierangelo Masarati committed
244
.BR authzTo=dn.subtree:"" ,
245
and the remote server to have
246
.B authz\-policy
247
set to
248
.B to
249
or
250
.BR both .
251
See
252
253
254
.BR slapd.conf (5)
for details on these statements and for remarks and drawbacks about
their usage.
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
The supported bindmethods are

\fBnone|simple|sasl\fP

where
.B none
is the default, i.e. no \fIidentity assertion\fP is performed.

The authz parameter is used to instruct the SASL bind to exploit 
.B native 
SASL authorization, if available; since connections are cached,
this should only be used when authorizing with a fixed identity
(e.g. by means of the 
.B authzDN
or
.B authzID
parameters).
Otherwise, the default
.B proxyauthz
274
275
is used, i.e. the proxyAuthz control (Proxied Authorization, RFC 4370)
is added to all operations.
276

277
The supported modes are:
Pierangelo Masarati's avatar
cleanup    
Pierangelo Masarati committed
278

279
\fB<mode> := {legacy|anonymous|none|self}\fP
Pierangelo Masarati's avatar
cleanup    
Pierangelo Masarati committed
280

281
282
283
284
285
286
287
If 
.B <mode>
is not present, and 
.B authzId
is given, the proxy always authorizes that identity.
.B <authorization ID>
can be 
Pierangelo Masarati's avatar
cleanup    
Pierangelo Masarati committed
288

289
\fBu:<user>\fP
290

291
292
293
294
295
296
297
298
299
300
301
\fB[dn:]<DN>\fP

The former is supposed to be expanded by the remote server according 
to the authz rules; see
.BR slapd.conf (5)
for details.
In the latter case, whether or not the 
.B dn:
prefix is present, the string must pass DN validation and normalization.

The default mode is 
302
.BR legacy ,
303
304
305
306
which implies that the proxy will either perform a simple bind as the
.I authcDN
or a SASL bind as the
.I authcID
307
and assert the client's identity when it is not anonymous.
308
309
310
311
312
The other modes imply that the proxy will always either perform a simple bind 
as the
.IR authcDN
or a SASL bind as the
.IR authcID ,
313
unless restricted by
314
.BR idassert\-authzFrom
315
316
317
318
rules (see below), in which case the operation will fail;
eventually, it will assert some other identity according to
.BR <mode> .
Other identity assertion modes are
319
320
321
.BR anonymous
and
.BR self ,
322
323
324
325
326
327
328
329
which respectively mean that the 
.I empty 
or the 
.IR client 's 
identity
will be asserted;
.BR none ,
which means that no proxyAuthz control will be used, so the
330
331
332
.I authcDN
or the
.I authcID
333
identity will be asserted.
334
335
336
337
338
339
340
341
For all modes that require the use of the
.I proxyAuthz 
control, on the remote server the proxy identity must have appropriate 
.I authzTo
permissions, or the asserted identities must have appropriate
.I authzFrom 
permissions.  Note, however, that the ID assertion feature is mostly 
useful when the asserted identities do not exist on the remote server.
342

343
344
Flags can be

Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
345
\fBoverride,[non\-]prescriptive,proxy\-authz\-[non\-]critical\fP
346

Pierangelo Masarati's avatar
cleanup    
Pierangelo Masarati committed
347
348
349
350
351
352
353
When the 
.B override
flag is used, identity assertion takes place even when the database
is authorizing for the identity of the client, i.e. after binding
with the provided identity, and thus authenticating it, the proxy
performs the identity assertion using the configured identity and
authentication method.
354

355
356
357
358
359
When the
.B prescriptive
flag is used (the default), operations fail with
\fIinappropriateAuthentication\fP
for those identities whose assertion is not allowed by the
360
.B idassert\-authzFrom
361
362
patterns.
If the 
363
.B non\-prescriptive
364
365
flag is used, operations are performed anonymously for those identities 
whose assertion is not allowed by the
366
.B idassert\-authzFrom
367
368
patterns.

Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
369
370
371
372
373
374
375
When the
.B proxy\-authz\-non\-critical
flag is used (the default), the proxyAuthz control is not marked as critical,
in violation of RFC 4370.  Use of
.B proxy\-authz\-critical
is recommended.

Howard Chu's avatar
Howard Chu committed
376
377
378
379
380
The TLS settings default to the same as the main slapd TLS settings,
except for
.B tls_reqcert
which defaults to "demand".

381
The identity associated to this directive is also used for privileged
382
383
operations whenever \fBidassert\-bind\fP is defined and \fBacl\-bind\fP
is not.  See \fBacl\-bind\fP for details.
384

385
This directive obsoletes
386
387
388
.BR idassert\-authcDN ,
.BR idassert\-passwd ,
.BR idassert\-mode ,
389
and
390
.BR idassert\-method .
Pierangelo Masarati's avatar
Pierangelo Masarati committed
391
.RE
392

Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
.TP
.B idassert-passthru <authz-regexp>
if defined, selects what
.I local
identities bypass the identity assertion feature.
Those identities need to be known by the remote host.
The string
.B <authz-regexp>
follows the rules defined for the
.I authzFrom
attribute.
See 
.BR slapd.conf (5),
section related to
.BR authz\-policy ,
for details on the syntax of this field.


411
.TP
412
.B idle\-timeout <time>
413
414
415
This directive causes a cached connection to be dropped an recreated
after it has been idle for the specified time.

416
417
418
419
420
421
422
.TP
.B keepalive  <idle>:<probes>:<interval>
The
.B keepalive
parameter sets the values of \fIidle\fP, \fIprobes\fP, and \fIinterval\fP
used to check whether a socket is alive;
.I idle
423
is the number of seconds a connection needs to remain idle before TCP
424
425
426
427
428
429
430
431
432
433
434
starts sending keepalive probes;
.I probes
is the maximum number of keepalive probes TCP should send before dropping
the connection;
.I interval
is interval in seconds between individual keepalive probes.
Only some systems support the customization of these values;
the
.B keepalive
parameter is ignored otherwise, and system-wide settings are used.

435
.TP
436
.B network\-timeout <time>
437
438
439
440
441
442
Sets the network timeout value after which
.BR poll (2)/ select (2) 
following a 
.BR connect (2) 
returns in case of no activity.
The value is in seconds, and it can be specified as for
443
.BR idle\-timeout .
444

Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
445
446
447
448
449
450
451
.TP
.B norefs <NO|yes>
If
.BR yes ,
do not return search reference responses.
By default, they are returned unless request is LDAPv2.

Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
452
453
454
455
456
457
458
459
460
461
462
.TP
.B noundeffilter <NO|yes>
If
.BR yes ,
return success instead of searching if a filter is undefined or contains
undefined portions.
By default, the search is propagated after replacing undefined portions
with
.BR (!(objectClass=*)) ,
which corresponds to the empty result set.

463
464
465
466
467
468
469
.TP
.B onerr {CONTINUE|stop}
This directive allows to select the behavior in case an error is returned
by the remote server during a search.
The default, \fBcontinue\fP, consists in returning success.
If the value is set to \fBstop\fP, the error is returned to the client.

470
471
472
473
474
475
476
477
.TP
.B protocol\-version {0,2,3}
This directive indicates what protocol version must be used to contact
the remote server.
If set to 0 (the default), the proxy uses the same protocol version 
used by the client, otherwise the requested protocol is used.
The proxy returns \fIunwillingToPerform\fP if an operation that is 
incompatible with the requested protocol is attempted.
Pierangelo Masarati's avatar
cleanup    
Pierangelo Masarati committed
478

Pierangelo Masarati's avatar
Pierangelo Masarati committed
479
.TP
480
.B proxy\-whoami {NO|yes}
481
482
483
484
485
486
Turns on proxying of the WhoAmI extended operation. If this option is
given, back-ldap will replace slapd's original WhoAmI routine with its
own. On slapd sessions that were authenticated by back-ldap, the WhoAmI
request will be forwarded to the remote LDAP server. Other sessions will
be handled by the local slapd, as before. This option is mainly useful
in conjunction with Proxy Authorization.
487

488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
.TP
.B quarantine <interval>,<num>[;<interval>,<num>[...]]
Turns on quarantine of URIs that returned
.IR LDAP_UNAVAILABLE ,
so that an attempt to reconnect only occurs at given intervals instead
of any time a client requests an operation.
The pattern is: retry only after at least
.I interval
seconds elapsed since last attempt, for exactly
.I num
times; then use the next pattern.
If
.I num
for the last pattern is "\fB+\fP", it retries forever; otherwise, 
no more retries occur.
The process can be restarted by resetting the \fIolcDbQuarantine\fP
attribute of the database entry in the configuration backend.

506
.TP
507
.B rebind\-as\-user {NO|yes}
508
If this option is given, the client's bind credentials are remembered
509
510
for rebinds, when trying to re-establish a broken connection,
or when chasing a referral, if 
511
.B chase\-referrals
512
513
is set to
.IR yes .
514

515
516
517
518
519
520
521
.TP
.B session\-tracking\-request {NO|yes}
Adds session tracking control for all requests.
The client's IP and hostname, and the identity associated to each request,
if known, are sent to the remote server for informational purposes.
This directive is incompatible with setting \fIprotocol\-version\fP to 2.

522
523
524
525
.TP
.B single\-conn {NO|yes}
Discards current cached connection when the client rebinds.

526
.TP
527
.B t\-f\-support {NO|yes|discover}
528
enable if the remote server supports absolute filters
529
(see \fIRFC 4526\fP for details).
530
531
If set to
.BR discover ,
Hallvard Furuseth's avatar
Hallvard Furuseth committed
532
support is detected by reading the remote server's root DSE.
533

534
.TP
535
.B timeout [<op>=]<val> [...]
536
This directive allows to set per-operation timeouts.
537
538
Operations can be

539
\fB<op> ::= bind, add, delete, modrdn, modify, compare, search\fP
540

541
The overall duration of the \fBsearch\fP operation is controlled either
542
543
by the \fBtimelimit\fP parameter or by server-side enforced
time limits (see \fBtimelimit\fP and \fBlimits\fP in
544
.BR slapd.conf (5)
545
for details).
546
547
This \fBtimeout\fP parameter controls how long the target can be 
irresponsive before the operation is aborted.
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
Timeout is meaningless for the remaining operations,
\fBunbind\fP and \fBabandon\fP, which do not imply any response,
while it is not yet implemented in currently supported \fBextended\fP 
operations.
If no operation is specified, the timeout \fBval\fP affects all
supported operations.

Note: if the timelimit is exceeded, the operation is cancelled
(according to the \fBcancel\fP directive);
the protocol does not provide any means to rollback operations,
so the client will not be notified about the result of the operation,
which may eventually succeeded or not.
In case the timeout is exceeded during a bind operation, the connection
is destroyed, according to RFC4511.

Note: in some cases, this backend may issue binds prior
to other operations (e.g. to bind anonymously or with some prescribed
565
identity according to the \fBidassert\-bind\fP directive).
566
567
In this case, the timeout of the operation that resulted in the bind
is used.
568

Howard Chu's avatar
Howard Chu committed
569
570
.HP
.hy 0
571
.B tls {[try\-]start|[try\-]propagate|ldaps}
Howard Chu's avatar
Howard Chu committed
572
573
574
575
576
577
578
579
580
581
582
583
.B [tls_cert=<file>]
.B [tls_key=<file>]
.B [tls_cacert=<file>]
.B [tls_cacertdir=<path>]
.B [tls_reqcert=never|allow|try|demand]
.B [tls_ciphersuite=<ciphers>]
.B [tls_crlcheck=none|peer|all]
.RS
Specify the use of TLS when a regular connection is initialized. The
StartTLS extended operation will be used unless the URI directive protocol
scheme is \fBldaps://\fP. In that case this keyword may only be
set to "ldaps" and the StartTLS operation will not be used.
584
585
\fBpropagate\fP issues the StartTLS operation only if the original
connection did.
586
The \fBtry\-\fP prefix instructs the proxy to continue operations
587
if the StartTLS operation failed; its use is \fBnot\fP recommended.
588

Howard Chu's avatar
Howard Chu committed
589
590
591
592
The TLS settings default to the same as the main slapd TLS settings,
except for
.B tls_reqcert
which defaults to "demand".
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
593
.RE
Howard Chu's avatar
Howard Chu committed
594

595
.TP
596
.B use\-temporary\-conn {NO|yes}
597
598
599
600
601
when set to 
.BR yes ,
create a temporary connection whenever competing with other threads
for a shared one; otherwise, wait until the shared connection is available.

602
.SH BACKWARD COMPATIBILITY
603
604
605
The LDAP backend has been heavily reworked between releases 2.2 and 2.3,
and subsequently between 2.3 and 2.4.
As a side-effect, some of the traditional directives have been
606
607
deprecated and should be no longer used, as they might disappear
in future releases.
608
609

.TP
610
.B acl\-authcDN "<administrative DN for access control purposes>"
611
612
613
614
Formerly known as the
.BR binddn ,
it is the DN that is used to query the target server for acl checking;
it is supposed to have read access on the target server to attributes used
615
616
617
on the proxy for acl checking.
There is no risk of giving away such values; they are only used to
check permissions.
618

619
.B The acl\-authcDN identity is by no means implicitly used by the proxy 
620
.B when the client connects anonymously.
621
The
622
.B idassert\-*
623
624
feature can be used (at own risk) for that purpose instead.

625
626
627
This directive is obsoleted by the
.B binddn
arg of
628
.B acl\-bind
629
when \fIbindmethod\fP=\fBsimple\fP, and will be dismissed in the future.
630
631

.TP
632
.B acl\-passwd <password>
633
634
635
Formerly known as the
.BR bindpw ,
it is the password used with the above
636
.B acl\-authcDN
637
638
directive.
This directive is obsoleted by the
639
.B credentials
640
arg of
641
.B acl\-bind
642
when \fIbindmethod\fP=\fBsimple\fP, and will be dismissed in the future.
643
644

.TP
645
.B idassert\-authcDN "<administrative DN for proxyAuthz purposes>"
646
647
DN which is used to propagate the client's identity to the target
by means of the proxyAuthz control when the client does not
Hallvard Furuseth's avatar
Hallvard Furuseth committed
648
belong to the DIT fragment that is being proxied by back-ldap.
649
650
651
This directive is obsoleted by the
.B binddn
arg of
652
.BR idassert\-bind
653
when \fIbindmethod\fP=\fBsimple\fP, and will be dismissed in the future.
654
655

.TP
656
.B idassert\-passwd <password>
657
Password used with the
658
.B idassert\-authcDN
659
above.
660
661
This directive is obsoleted by the
.B crendentials
662
arg of
663
.B idassert\-bind
664
when \fIbindmethod\fP=\fBsimple\fP, and will be dismissed in the future.
665
666

.TP
667
.B idassert\-mode <mode> [<flags>]
668
669
670
defines what type of
.I identity assertion
is used.
671
672
673
This directive is obsoleted by the
.B mode
arg of 
674
.BR idassert\-bind ,
675
and will be dismissed in the future.
676
677

.TP
678
.B idassert\-method <method> [<saslargs>]
679
680
681
This directive is obsoleted by the
.B bindmethod
arg of
682
.BR idassert\-bind ,
683
and will be dismissed in the future.
684

685
686
687
688
689
690
.TP
.B port <port>
this directive is no longer supported.  Use the 
.B uri
directive as described above.

691
692
693
694
695
696
.TP
.B server <hostname[:port]>
this directive is no longer supported.  Use the 
.B uri
directive as described above.

697
.TP
Pierangelo Masarati's avatar
cleanup    
Pierangelo Masarati committed
698
699
700
701
.B suffixmassage, map, rewrite*
These directives are no longer supported by back-ldap; their 
functionality is now delegated to the
.B rwm
702
703
704
705
706
overlay.  Essentially, add a statement

.B overlay rwm

first, and prefix all rewrite/map statements with
707
.B rwm\-
708
709
to obtain the original behavior.
See
710
.BR slapo\-rwm (5)
Pierangelo Masarati's avatar
cleanup    
Pierangelo Masarati committed
711
for details.
712
713
714
715
716
.\" However, to ease update from existing configurations, back-ldap still 
.\" recognizes them and automatically instantiates the
.\" .B rwm
.\" overlay if available and not instantiated yet.
.\" This behavior may change in the future.
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732

.SH ACCESS CONTROL
The
.B ldap
backend does not honor all ACL semantics as described in
.BR slapd.access (5).
In general, access checking is delegated to the remote server(s).
Only
.B read (=r)
access to the
.B entry
pseudo-attribute and to the other attribute values of the entries
returned by the
.B search
operation is honored, which is performed by the frontend.

733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
.SH OVERLAYS
The LDAP backend provides basic proxying functionalities to many overlays.
The 
.B chain
overlay, described in
.BR slapo\-chain (5),
and the
.B translucent
overlay, described in
.BR slapo\-translucent (5),
deserve a special mention.

Conversely, there are many overlays that are best used in conjunction
with the LDAP backend.
The
.B proxycache 
overlay allows caching of LDAP search requests (queries) 
in a local database.
See 
.BR slapo\-pcache (5)
for details.
The
.B rwm
overlay provides DN rewrite and attribute/objectClass mapping
capabilities to the underlying database.
758
See 
759
.BR slapo\-rwm (5)
760
for details.
761

762
.SH FILES
763
.TP
764
ETCDIR/slapd.conf
765
default slapd configuration file
766
767
.SH SEE ALSO
.BR slapd.conf (5),
Quanah Gibson-Mount's avatar
Quanah Gibson-Mount committed
768
.BR slapd\-config (5),
769
.BR slapd\-meta (5),
770
.BR slapo\-chain (5),
771
.BR slapo\-pcache (5),
Pierangelo Masarati's avatar
cleanup    
Pierangelo Masarati committed
772
.BR slapo\-rwm (5),
773
.BR slapo\-translucent (5),
774
775
.BR slapd (8),
.BR ldap (3).
Howard Chu's avatar
Howard Chu committed
776
777
.SH AUTHOR
Howard Chu, with enhancements by Pierangelo Masarati