X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=doc%2Fman%2Fman5%2Fslapd.access.5;h=0b11805952ad1cf409ad4c948f1b93c538198aec;hb=c8c34cdd43d3603f3b64a56841b4425379c98f45;hp=8e48197957a7501d67d124806d0fbab519dc7a21;hpb=947f41832ee6f0cd925560ebbe7c67daf8a4fa87;p=openldap diff --git a/doc/man/man5/slapd.access.5 b/doc/man/man5/slapd.access.5 index 8e48197957..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-2003 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,13 +11,15 @@ 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), .BR slapcat (8), +.BR slapdn (8), +.BR slapindex (8), and -.BR slapindex (8). +.BR slaptest (8). .LP The .B slapd.conf @@ -48,22 +51,78 @@ directives are defined for a backend or those which are defined are not applicable, the directives from the global configuration section are then used. .LP +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"). +.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 @@ -71,48 +130,82 @@ specifies the entity the access control directive applies to. It can have the forms .LP .nf - * - [dn[.]=] - [filter=] - [attrs=[ val[.