]> git.sur5r.net Git - openldap/blobdiff - doc/man/man5/slapo-ppolicy.5
Cleanup prev commit
[openldap] / doc / man / man5 / slapo-ppolicy.5
index 214a4d9de41336d20f83b288286bc34892e2f1f7..2bb99e4af79211fd0138558a11bb0d53013594d5 100644 (file)
@@ -1,9 +1,9 @@
-.\" $OpenLDAP$
-.\" Copyright 2004-2006 The OpenLDAP Foundation All Rights Reserved.
-.\" Copying restrictions apply.  See COPYRIGHT/LICENSE.
 .TH SLAPO_PPOLICY 5 "RELEASEDATE" "OpenLDAP LDVERSION"
+.\" Copyright 2004-2009 The OpenLDAP Foundation All Rights Reserved.
+.\" Copying restrictions apply.  See COPYRIGHT/LICENSE.
+.\" $OpenLDAP$
 .SH NAME
-slapo-ppolicy \- Password Policy overlay
+slapo\-ppolicy \- Password Policy overlay to slapd
 .SH SYNOPSIS
 ETCDIR/slapd.conf
 .SH DESCRIPTION
@@ -17,7 +17,7 @@ decodes and applies specific password policy controls to overall
 use of a backend database, changes to user password fields, etc.
 .P
 The overlay provides a variety of password control mechanisms.  They
-include password aging--both minimum and maximum ages, password
+include password aging -- both minimum and maximum ages, password
 reuse and duplication control, account time-outs, mandatory password
 resets, acceptable password content, and even grace logins.
 Different groups of users may be associated with different password
@@ -29,6 +29,12 @@ is performed with the
 .B rootdn
 identity; all the operations, when performed with any other identity,
 may be subjected to constraints, like access control.
+.P
+Note that the IETF Password Policy proposal for LDAP makes sense
+when considering a single-valued password attribute, while 
+the userPassword attribute allows multiple values.  This implementation
+enforces a single value for the userPassword attribute, despite
+its specification.
 
 .SH CONFIGURATION
 These 
@@ -43,6 +49,17 @@ Specify the DN of the pwdPolicy object to use when no specific policy is
 set on a given user's entry. If there is no specific policy for an entry
 and no default is given, then no policies will be enforced.
 .TP
+.B ppolicy_forward_updates
+Specify that policy state changes that result from Bind operations (such
+as recording failures, lockout, etc.) on a consumer should be forwarded
+to a master instead of being written directly into the consumer's local
+database. This setting is only useful on a replication consumer, and
+also requires the
+.B updateref
+setting and
+.B chain
+overlay to be appropriately configured.
+.TP
 .B ppolicy_hash_cleartext
 Specify that cleartext passwords present in Add and Modify requests should
 be hashed before being stored in the database. This violates the X.500/LDAP
@@ -82,7 +99,7 @@ object class.  The definition of that class is as follows:
     MUST ( pwdAttribute )
     MAY (
         pwdMinAge $ pwdMaxAge $ pwdInHistory $
-        pwdCheckSyntax $ pwdMinLength $
+        pwdCheckQuality $ pwdMinLength $
         pwdExpireWarning $ pwdGraceAuthnLimit $
         pwdLockout $ pwdLockoutDuration $
         pwdMaxFailure $ pwdFailureCountInterval $
@@ -153,7 +170,7 @@ modified whenever and however often is desired).
    NAME 'pwdMinAge'
    EQUALITY integerMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
-   SINGLE-VALUE )
+   SINGLE\-VALUE )
 .RE
 
 .B pwdMaxAge
@@ -167,7 +184,7 @@ value is zero (0), then passwords will not expire.
    NAME 'pwdMaxAge'
    EQUALITY integerMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
-   SINGLE-VALUE )
+   SINGLE\-VALUE )
 .RE
 
 .B pwdInHistory
@@ -190,7 +207,7 @@ although the password is saved in the history.
    NAME 'pwdInHistory'
    EQUALITY integerMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
-   SINGLE-VALUE )
+   SINGLE\-VALUE )
 .RE
 
 .B pwdCheckQuality
@@ -211,14 +228,14 @@ error refusing the password.
    NAME 'pwdCheckQuality'
    EQUALITY integerMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
-   SINGLE-VALUE )
+   SINGLE\-VALUE )
 .RE
 
 .B pwdMinLength
 .P
 When syntax checking is enabled
 (see also the
-.B pwdCheckSyntax
+.B pwdCheckQuality
 attribute), this attribute contains the minimum
 number of characters that will be accepted in a password. If this
 attribute is not present, minimum password length is not
@@ -226,12 +243,12 @@ enforced. If the server is unable to check the length of the password,
 whether due to a client-side hashed password or some other reason,
 the server will, depending on the
 value of
-.BR pwdCheckSyntax ,
+.BR pwdCheckQuality ,
 either accept the password
 without checking it (if
-.B pwdCheckSyntax
+.B pwdCheckQuality
 is zero (0) or one (1)) or refuse it (if
-.B pwdCheckSyntax
+.B pwdCheckQuality
 is two (2)).
 .LP
 .RS 4
@@ -239,7 +256,7 @@ is two (2)).
    NAME 'pwdMinLength'
    EQUALITY integerMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
-   SINGLE-VALUE )
+   SINGLE\-VALUE )
 .RE
 
 .B pwdExpireWarning
@@ -255,7 +272,7 @@ present, or if the value is zero (0), no warnings will be sent.
    NAME 'pwdExpireWarning'
    EQUALITY integerMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
-   SINGLE-VALUE )
+   SINGLE\-VALUE )
 .RE
 
 .B pwdGraceAuthnLimit
@@ -271,7 +288,7 @@ directory.
    NAME 'pwdGraceAuthnLimit'
    EQUALITY integerMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
-   SINGLE-VALUE )
+   SINGLE\-VALUE )
 .RE
 
 .B pwdLockout
@@ -297,7 +314,7 @@ attempts have been made.
    NAME 'pwdLockout'
    EQUALITY booleanMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
-   SINGLE-VALUE )
+   SINGLE\-VALUE )
 .RE
 
 .B pwdLockoutDuration
@@ -321,7 +338,7 @@ again until it is reset by an administrator.
    NAME 'pwdLockoutDuration'
    EQUALITY integerMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
-   SINGLE-VALUE )
+   SINGLE\-VALUE )
 .RE
 
 .B pwdMaxFailure
@@ -345,7 +362,7 @@ and
    NAME 'pwdMaxFailure'
    EQUALITY integerMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
-   SINGLE-VALUE )
+   SINGLE\-VALUE )
 .RE
 
 .B pwdFailureCountInterval
@@ -363,7 +380,7 @@ counter will only be reset by a successful authentication.
    NAME 'pwdFailureCountInterval'
    EQUALITY integerMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.27
-   SINGLE-VALUE )
+   SINGLE\-VALUE )
 .RE
 
 .B pwdMustChange
@@ -385,7 +402,7 @@ the administrator sets or resets the password.
   NAME 'pwdMustChange'
   EQUALITY booleanMatch
   SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
-  SINGLE-VALUE )
+  SINGLE\-VALUE )
 .RE
 
 .B pwdAllowUserChange
@@ -402,7 +419,7 @@ users will not be allowed to change their own passwords.
    NAME 'pwdAllowUserChange'
    EQUALITY booleanMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
-   SINGLE-VALUE )
+   SINGLE\-VALUE )
 .RE
 
 .B pwdSafeModify
@@ -420,7 +437,7 @@ along with the new password.
    NAME 'pwdSafeModify'
    EQUALITY booleanMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
-   SINGLE-VALUE )
+   SINGLE\-VALUE )
 .RE
 
 .B pwdCheckModule
@@ -467,7 +484,7 @@ be free()'d by slapd.
    NAME 'pwdCheckModule'
    EQUALITY caseExactIA5Match
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.26
-   SINGLE-VALUE )
+   SINGLE\-VALUE )
 .RE
 .P
 Note: 
@@ -485,7 +502,7 @@ policy proposal.
 .SH OPERATIONAL ATTRIBUTES
 .P
 The operational attributes used by the
-.B passwd_policy
+.B ppolicy
 module are stored in the user's entry.  Most of these attributes
 are not intended to be changed directly by users; they are there
 to track user activity.  They have been detailed here so that
@@ -494,10 +511,23 @@ the
 .B ppolicy
 module.
 
+.P
+Note that the current IETF Password Policy proposal does not define
+how these operational attributes are expected to behave in a
+replication environment. In general, authentication attempts on
+a slave server only affect the copy of the operational attributes
+on that slave and will not affect any attributes for
+a user's entry on the master server. Operational attribute changes
+resulting from authentication attempts on a master server
+will usually replicate to the slaves (and also overwrite
+any changes that originated on the slave). 
+These behaviors are not guaranteed and are subject to change
+when a formal specification emerges.
+
 .B userPassword
 .P
 The
-.b userPassword
+.B userPassword
 attribute is not strictly part of the
 .B ppolicy
 module.  It is, however, the attribute that is tracked and controlled
@@ -527,8 +557,8 @@ policy rules will be enforced.
        this object'
    EQUALITY distinguishedNameMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
-   SINGLE-VALUE
-   NO-USER-MODIFICATION
+   SINGLE\-VALUE
+   NO\-USER\-MODIFICATION
    USAGE directoryOperation)
 .RE
 
@@ -548,8 +578,8 @@ does not exist, the user's password will not expire.
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
    EQUALITY generalizedTimeMatch
    ORDERING generalizedTimeOrderingMatch
-   SINGLE-VALUE
-   NO-USER-MODIFICATION
+   SINGLE\-VALUE
+   NO\-USER\-MODIFICATION
    USAGE directoryOperation)
 .RE
 
@@ -559,7 +589,7 @@ This attribute contains the time that the user's account was locked.
 If the account has been locked, the password may no longer be used to
 authenticate the user to the directory.  If
 .B pwdAccountLockedTime   
-is set to zero (0), the user's account has been permanently locked
+is set to 000001010000Z, the user's account has been permanently locked
 and may only be unlocked by an administrator.
 .LP
 .RS 4
@@ -569,8 +599,8 @@ and may only be unlocked by an administrator.
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
    EQUALITY generalizedTimeMatch
    ORDERING generalizedTimeOrderingMatch
-   SINGLE-VALUE
-   NO-USER-MODIFICATION
+   SINGLE\-VALUE
+   NO\-USER\-MODIFICATION
    USAGE directoryOperation)
 .RE
 
@@ -604,7 +634,7 @@ will be cleansed of entries.
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
    EQUALITY generalizedTimeMatch
    ORDERING generalizedTimeOrderingMatch
-   NO-USER-MODIFICATION
+   NO\-USER\-MODIFICATION
    USAGE directoryOperation )
 .RE
 
@@ -623,7 +653,7 @@ time "#" syntaxOID "#" length "#" data
 
 time=
 .RS 4
-generalizedTimeString as specified in section 6.14 of [RFC2252]
+GeneralizedTime as specified in section 3.3.13 of [RFC4517]
 .RE
 
 .P
@@ -631,13 +661,13 @@ syntaxOID = numericoid
 .RS 4
 This is the string representation of the dotted-decimal OID that
 defines the syntax used to store the password.  numericoid is
-described in section 4.1 of [RFC2252].
+described in section 1.4 of [RFC4512].
 .RE
 
-length = numericstring
+length = NumericString
 .RS 4
-The number of octets in the data.  numericstring is described in
-section 4.1 of [RFC2252].
+The number of octets in the data.  NumericString is described in
+section 3.3.23 of [RFC4517].
 .RE
 
 data =
@@ -658,7 +688,7 @@ field is in GMT format.
    DESC 'The history of user passwords'
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.40
    EQUALITY octetStringMatch
-   NO-USER-MODIFICATION
+   NO\-USER\-MODIFICATION
    USAGE directoryOperation)
 .RE
 
@@ -682,7 +712,7 @@ attribute.
    DESC 'The timestamps of the grace login once the password has expired'
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
    EQUALITY generalizedTimeMatch
-   NO-USER-MODIFICATION
+   NO\-USER\-MODIFICATION
    USAGE directoryOperation)
 .RE
 
@@ -704,7 +734,7 @@ administrative reset.
        been reset'
    EQUALITY booleanMatch
    SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
-   SINGLE-VALUE
+   SINGLE\-VALUE
    USAGE directoryOperation)
 .RE
 
@@ -714,7 +744,7 @@ administrative reset.
 .nf
 database bdb
 suffix dc=example,dc=com
-\...
+\|...
 overlay ppolicy
 ppolicy_default "cn=Standard,ou=Policies,dc=example,dc=com"
 .fi
@@ -723,6 +753,8 @@ ppolicy_default "cn=Standard,ou=Policies,dc=example,dc=com"
 .SH SEE ALSO
 .BR ldap (3),
 .BR slapd.conf (5),
+.BR slapd\-config (5),
+.BR slapo\-chain (5).
 .LP
 "OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)
 .LP
@@ -750,7 +782,4 @@ the
 IETF document named draft-behera-ldap-password-policy-09.txt,
 written in July of 2005.
 .P
-.B OpenLDAP
-is developed and maintained by The OpenLDAP Project (http://www.openldap.org/).
-.B OpenLDAP
-is derived from University of Michigan LDAP 3.3 Release.  
+.so ../Project