]> git.sur5r.net Git - openldap/blob - doc/man/man5/slapo-unique.5
Delta-syncrepl doc updates
[openldap] / doc / man / man5 / slapo-unique.5
1 .TH SLAPO-UNIQUE 5 "RELEASEDATE" "OpenLDAP LDVERSION"
2 .\" Copyright 2004-2005 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 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. Usually only one of
83 .B unique_ignore
84 or
85 .B unique_attributes
86 should be configured; use
87 .B unique_ignore
88 if the majority of attributes should be unique, and use
89 .B unique_attributes
90 if only a small set of attributes should be unique.
91 .LP
92 Typical attributes for the
93 .B unique_ignore
94 directive are intentionally not hardcoded into the overlay to allow for
95 maximum flexibility in meeting site-specific requirements.
96 .SH FILES
97 .TP
98 ETCDIR/slapd.conf
99 default slapd configuration file
100 .SH SEE ALSO
101 .BR slapd.conf (5).