]> git.sur5r.net Git - openldap/blob - doc/man/man5/slapo-unique.5
cbdcc15911395bf2d25dc06c780eedfd741a8b84
[openldap] / doc / man / man5 / slapo-unique.5
1 .TH SLAPO-UNIQUE 5 "RELEASEDATE" "OpenLDAP LDVERSION"
2 .\" Copyright 2004 The OpenLDAP Foundation All Rights Reserved.
3 .\" Copying restrictions apply.  See COPYRIGHT/LICENSE.
4 .\" $OpenLDAP$
5 .SH NAME
6 slapo-unique \- Attribute Uniqueness overlay
7 .SH SYNOPSIS
8 ETCDIR/slapd.conf
9 .SH DESCRIPTION
10 The Attribute Uniqueness overlay can be used with a backend database such as
11 .BR slapd-bdb (5)
12 to enforce the uniqueness of some or all attributes within a subtree. This
13 subtree defaults to the base DN of the database for which the Uniqueness
14 overlay is configured.
15 .LP
16 Uniqueness is enforced by searching the subtree to ensure that the values of
17 all attributes presented with an
18 .BR add ,
19 .B modify
20 or
21 .B modrdn
22 operation are unique within the subtree.
23 For example, if uniqueness were enforced for the
24 .B uid
25 attribute, the subtree would be searched for any other records which also
26 have a
27 .B uid
28 attribute containing the same value. If any are found, the request is
29 rejected.
30 .SH CONFIGURATION
31 These
32 .B slapd.conf
33 options apply to the Attribute Uniqueness overlay.
34 They should appear after the
35 .B overlay
36 directive and before any subsequent
37 .B database
38 directive.
39 .TP
40 .B unique_base <basedn>
41 Configure the subtree against which uniqueness searches will be invoked.
42 The
43 .B basedn
44 defaults to the base DN of the database for which uniqueness is configured.
45 .TP
46 .B unique_ignore <attribute...>
47 Configure one or more attributes for which uniqueness will not be enforced.
48 If not configured, all non-operational (eg, system) attributes must be
49 unique. Note that the
50 .B unique_ignore
51 list should generally contain the
52 .BR objectClass ,
53 .BR dc ,
54 .B ou
55 and
56 .B o
57 attributes, as these will generally not be unique, nor are they operational
58 attributes.
59 .TP
60 .B unique_attributes <attribute...>
61 Specify one or more attributes which for which uniqueness will be enforced.
62 If not specified, all attributes which are not operational (eg, system
63 attributes such as
64 .B entryUUID )
65 or specified via the
66 .B unique_ignore
67 directive above must be unique within the subtree.
68 .TP
69 .B unique_strict
70 By default, uniqueness is not enforced for null values. Enabling
71 .B unique_strict
72 mode extends the concept of uniqueness to include null values, such that
73 only one attribute within a subtree will be allowed to have a null value.
74 .SH CAVEATS
75 .LP
76 The search key is generated with attributes that are non-operational, not
77 on the
78 .B unique_ignore
79 list, and included in the
80 .B unique_attributes
81 list, in that order. This makes it possible to create interesting and
82 unusable configurations.
83 .LP
84 Typical attributes for the
85 .B unique_ignore
86 directive are intentionally not hardcoded into the overlay to allow for
87 maximum flexibility in meeting site-specific requirements.
88 .SH FILES
89 .TP
90 ETCDIR/slapd.conf
91 default slapd configuration file
92 .SH SEE ALSO
93 .BR slapd.conf (5).