~ttx/openldap/lucid-gssapi-495418

« back to all changes in this revision

Viewing changes to doc/man/man5/slapo-unique.5

  • Committer: Bazaar Package Importer
  • Author(s): Mathias Gug
  • Date: 2008-07-10 14:45:49 UTC
  • Revision ID: james.westby@ubuntu.com-20080710144549-wck73med0e72gfyo
Tags: upstream-2.4.10
ImportĀ upstreamĀ versionĀ 2.4.10

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
.TH SLAPO-UNIQUE 5 "RELEASEDATE" "OpenLDAP LDVERSION"
 
2
.\" Copyright 2004-2008 The OpenLDAP Foundation All Rights Reserved.
 
3
.\" Copying restrictions apply.  See COPYRIGHT/LICENSE.
 
4
.\" $OpenLDAP: pkg/ldap/doc/man/man5/slapo-unique.5,v 1.6.2.3 2008/02/11 23:26:40 kurt Exp $
 
5
.SH NAME
 
6
slapo-unique \- Attribute Uniqueness overlay to slapd
 
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
 
13
scope. This subtree defaults to all objects within the subtree of the
 
14
database for which the Uniqueness 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 scope.
 
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.
 
37
.TP
 
38
.B unique_uri <[strict ][ignore ]URI[URI...]...>
 
39
Configure the base, attributes, scope, and filter for uniqueness
 
40
checking.  Multiple URIs may be specified within a domain, allowing complex selections of objects.  Multiple
 
41
.B unique_uri
 
42
statements or
 
43
.B olcUniqueURI
 
44
attributes will create independent domains, each with their own independent lists of URIs and ignore/strict settings.
 
45
 
 
46
The LDAP URI syntax is a subset of
 
47
.B RFC-4516,
 
48
and takes the form:
 
49
 
 
50
ldap:///[base dn]?[attributes...]?scope[?filter]
 
51
 
 
52
The
 
53
.B base dn
 
54
defaults to that of the back-end database.  Specified base dns must be within the subtree of the back-end database.
 
55
 
 
56
If no
 
57
.B attributes
 
58
are specified, the URI applies to all non-operational attributes.
 
59
 
 
60
The
 
61
.B scope
 
62
component is effectively mandatory, because LDAP URIs default to
 
63
.B base
 
64
scope, which is not valid for uniqueness, because groups of one object
 
65
are always unique.  Scopes of
 
66
.B sub
 
67
(for subtree) and
 
68
.B one
 
69
for one-level are valid.
 
70
 
 
71
The
 
72
.B filter
 
73
component causes the domain to apply uniqueness constraints only to
 
74
matching objects.  e.g.
 
75
.B ldap:///?cn?sub?(sn=e*)
 
76
would require unique
 
77
.B cn
 
78
attributes for all objects in the subtree of the back-end database whose
 
79
.B sn
 
80
starts with an e.
 
81
 
 
82
It is possible to assert uniqueness upon all non-operational
 
83
attributes except those listed by prepending the keyword
 
84
.B ignore
 
85
If not configured, all non-operational (e.g., system) attributes must be
 
86
unique. Note that the
 
87
.B attributes
 
88
list of an
 
89
.B ignore
 
90
URI should generally contain the
 
91
.BR objectClass ,
 
92
.BR dc ,
 
93
.B ou
 
94
and
 
95
.B o
 
96
attributes, as these will generally not be unique, nor are they operational
 
97
attributes.
 
98
 
 
99
It is possible to set strict checking for the uniqueness domain by
 
100
prepending the keyword
 
101
.B strict.
 
102
By default, uniqueness is not enforced
 
103
for null values. Enabling
 
104
.B strict
 
105
mode extends the concept of uniqueness to include null values, such
 
106
that only one attribute within a subtree will be allowed to have a
 
107
null value.  Strictness applies to all URIs within a uniqueness
 
108
domain, but some domains may be strict while others are not.
 
109
.LP
 
110
It is not possible to set both URIs and legacy slapo-unique configuration parameters simultaneously.  In general, the legacy configuration options control pieces of a single unfiltered subtree domain.
 
111
.TP
 
112
.B unique_base <basedn>
 
113
This legacy configuration parameter should be converted to the
 
114
.B base dn
 
115
component of the above
 
116
.B unique_uri
 
117
style of parameter.
 
118
.TP
 
119
.B unique_ignore <attribute...>
 
120
This legacy configuration parameter should be converted to a
 
121
.B unique_uri
 
122
parameter with
 
123
.B ignore
 
124
keyword as described above.
 
125
.TP
 
126
.B unique_attributes <attribute...>
 
127
This legacy configuration parameter should be converted to a
 
128
.B unique_uri
 
129
parameter, as described above.
 
130
.TP
 
131
.B unique_strict
 
132
This legacy configuration parameter should be converted to a
 
133
.B strict
 
134
keyword prepended to a
 
135
.B unique_uri
 
136
parameter, as described above.
 
137
.SH CAVEATS
 
138
.LP
 
139
.B unique_uri
 
140
cannot be used with the old-style of configuration, and vice versa.
 
141
.B unique_uri
 
142
can implement everything the older system can do, however.
 
143
.LP
 
144
Typical attributes for the
 
145
.B ignore ldap:///...
 
146
URIs are intentionally not hardcoded into the overlay to allow for
 
147
maximum flexibility in meeting site-specific requirements.
 
148
.SH FILES
 
149
.TP
 
150
ETCDIR/slapd.conf
 
151
default slapd configuration file
 
152
.SH SEE ALSO
 
153
.BR slapd.conf (5).