X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=doc%2Fman%2Fman5%2Fslapd.access.5;h=0b11805952ad1cf409ad4c948f1b93c538198aec;hb=c8c34cdd43d3603f3b64a56841b4425379c98f45;hp=b17c83afabfeaaf0d3022e24867b41277749683f;hpb=a9f2f12b9384541523ffdfcad3336e397e6658de;p=openldap diff --git a/doc/man/man5/slapd.access.5 b/doc/man/man5/slapd.access.5 index b17c83afab..0b11805952 100644 --- a/doc/man/man5/slapd.access.5 +++ b/doc/man/man5/slapd.access.5 @@ -1,6 +1,7 @@ .TH SLAPD.ACCESS 5 "RELEASEDATE" "OpenLDAP LDVERSION" -.\" Copyright 1998-2004 The OpenLDAP Foundation All Rights Reserved. +.\" Copyright 1998-2011 The OpenLDAP Foundation All Rights Reserved. .\" Copying restrictions apply. See COPYRIGHT/LICENSE. +.\" $OpenLDAP$ .SH NAME slapd.access \- access configuration for slapd, the stand-alone LDAP daemon .SH SYNOPSIS @@ -10,9 +11,7 @@ The .BR slapd.conf (5) file contains configuration information for the .BR slapd (8) -daemon. This configuration file is also used by the -.BR slurpd (8) -replication daemon and by the SLAPD tools +daemon. This configuration file is also used by the SLAPD tools .BR slapacl (8), .BR slapadd (8), .BR slapauth (8), @@ -55,24 +54,75 @@ are then used. If no access controls are present, the default policy allows anyone and everyone to read anything but restricts updates to rootdn. (e.g., "access to * by * read"). -The rootdn can always read and write EVERYTHING! +.LP +When dealing with an access list, because the global access list is +effectively appended to each per-database list, if the resulting +list is non-empty then the access list will end with an implicit +.B access to * by * none +directive. If there are no access directives applicable to a backend, +then a default read is used. +.LP +.B Be warned: the rootdn can always read and write EVERYTHING! .LP For entries not held in any backend (such as a root DSE), the -directives of the first backend (and any global directives) are -used. +global directives are used. .LP Arguments that should be replaced by actual text are shown in brackets <>. .SH THE ACCESS DIRECTIVE The structure of the access control directives is .TP -.B access to "[ by [ ] ]+" +.B access to "[ by [ ] [ ] ]+" Grant access (specified by .BR ) to a set of entries and/or attributes (specified by .BR ) by one or more requestors (specified by .BR ). + +.LP +Lists of access directives are evaluated in the order they appear +in \fIslapd.conf\fP. +When a +.B +clause matches the datum whose access is being evaluated, its +.B +clause list is checked. +When a +.B +clause matches the accessor's properties, its +.B +and +.B +clauses are evaluated. +Access control checking stops at the first match of the +.B +and +.B +clause, unless otherwise dictated by the +.B +clause. +Each +.B +clause list is implicitly terminated by a +.LP +.nf + by * none stop +.fi +.LP +clause that results in stopping the access control with no access +privileges granted. +Each +.B +clause list is implicitly terminated by a +.LP +.nf + access to * + by * none +.fi +.LP +clause that results in granting no access privileges to an otherwise +unspecified datum. .SH THE FIELD The field .BR @@ -80,9 +130,9 @@ specifies the entity the access control directive applies to. It can have the forms .LP .nf - [dn[.]=] + dn[.]= filter= - attrs=[ val[.]=] + attrs=[ val[/matchingRule][.]=] .fi .LP with @@ -98,9 +148,6 @@ with The statement .B dn= selects the entries based on their naming context. -The -.B dn= -part is optional. The .B is a string representation of the entry's DN. @@ -112,11 +159,7 @@ form is given. .LP The .B -is also optional; however, it is recommended to specify both the -.B dn= -and the -.B -to avoid ambiguities. +is optional; however, it is recommended to specify it to avoid ambiguities. .B Base (synonym of .BR baseObject ), @@ -153,11 +196,11 @@ as detailed in and/or .BR re_format (7), matching a normalized string representation of the entry's DN. -The regex form of the pattern does not (yet) support UTF\-8. +The regex form of the pattern does not (yet) support UTF-8. .LP The statement .B filter= -selects the entries based on a valid LDAP filter as described in RFC 2254. +selects the entries based on a valid LDAP filter as described in RFC 4515. A filter of .B (objectClass=*) is implied if no @@ -190,20 +233,19 @@ form is given, is implied, i.e. all attributes are addressed. .LP Using the form -.B attrs= val[.