Home | History | Annotate | Line # | Download | only in ppm
ppm.example revision 1.1
      1  1.1  christos # Example of ppm configuration
      2  1.1  christos 
      3  1.1  christos # Such configuration must be stored into pwdCheckModuleArg attribute
      4  1.1  christos # of a password policy entry
      5  1.1  christos # See slapo-ppolicy for more details
      6  1.1  christos # Here is an example of such password policy:
      7  1.1  christos #   dn: cn=default,ou=policies,dc=my-domain,dc=com
      8  1.1  christos #   objectClass: pwdPolicy
      9  1.1  christos #   objectClass: top
     10  1.1  christos #   objectClass: pwdPolicyChecker
     11  1.1  christos #   objectClass: person
     12  1.1  christos #   pwdCheckQuality: 2
     13  1.1  christos #   pwdAttribute: userPassword
     14  1.1  christos #   sn: default
     15  1.1  christos #   cn: default
     16  1.1  christos #   pwdMinLength: 6
     17  1.1  christos #   pwdCheckModule: /usr/local/lib/ppm.so
     18  1.1  christos #   pwdCheckModuleArg:: bWluUXVhbGl0eSAzCmNoZWNrUkROIDAKZm9yYmlkZGVuQ2hhcnMKbWF4Q29uc2VjdXRpdmVQZXJDbGFzcyAwCnVzZUNyYWNrbGliIDAKY3JhY2tsaWJEaWN0IC92YXIvY2FjaGUvY3JhY2tsaWIvY3JhY2tsaWJfZGljdApjbGFzcy11cHBlckNhc2UgQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVogMCAxCmNsYXNzLWxvd2VyQ2FzZSBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiAwIDEKY2xhc3MtZGlnaXQgMDEyMzQ1Njc4OSAwIDEKY2xhc3Mtc3BlY2lhbCA8Piw/Oy46LyHCp8O5JSrCtV7CqCTCo8KyJsOpfiIjJ3soWy18w6hgX1zDp17DoEApXcKwPX0rIDAgMQ==
     19  1.1  christos #
     20  1.1  christos # Different parameters are separated by a linefeed (\n)
     21  1.1  christos # Parameters starting with a # are ignored
     22  1.1  christos # Use a base64 tool to code / decode the content of pwdCheckModuleArg
     23  1.1  christos 
     24  1.1  christos 
     25  1.1  christos 
     26  1.1  christos # Parameters
     27  1.1  christos 
     28  1.1  christos # minQuality parameter
     29  1.1  christos # Format:
     30  1.1  christos # minQuality [NUMBER]
     31  1.1  christos # Description:
     32  1.1  christos # One point is granted for each class for which MIN_FOR_POINT criteria is fulfilled.
     33  1.1  christos # defines the minimum point numbers for the password to be accepted.
     34  1.1  christos minQuality 3
     35  1.1  christos 
     36  1.1  christos # checkRDN parameter
     37  1.1  christos # Format:
     38  1.1  christos # checkRDN [0 | 1]
     39  1.1  christos # Description:
     40  1.1  christos # If set to 1, password must not contain a token from the RDN.
     41  1.1  christos # Tokens are separated by these delimiters : space tabulation _ - , ; 
     42  1.1  christos checkRDN 0
     43  1.1  christos 
     44  1.1  christos # forbiddenChars parameter
     45  1.1  christos # Format:
     46  1.1  christos # forbiddenChars [CHARACTERS_FORBIDDEN]
     47  1.1  christos # Description:
     48  1.1  christos # Defines the forbidden characters list (no separator).
     49  1.1  christos # If one of them is found in the password, then it is rejected.
     50  1.1  christos forbiddenChars 
     51  1.1  christos 
     52  1.1  christos # maxConsecutivePerClass parameter
     53  1.1  christos # Format:
     54  1.1  christos # maxConsecutivePerClass [NUMBER]
     55  1.1  christos # Description:
     56  1.1  christos # Defines the maximum number of consecutive character allowed for any class
     57  1.1  christos maxConsecutivePerClass 0
     58  1.1  christos 
     59  1.1  christos # useCracklib parameter
     60  1.1  christos # Format:
     61  1.1  christos # useCracklib [0 | 1]
     62  1.1  christos # Description:
     63  1.1  christos # If set to 1, the password must pass the cracklib check
     64  1.1  christos useCracklib 0
     65  1.1  christos 
     66  1.1  christos # cracklibDict parameter
     67  1.1  christos # Format:
     68  1.1  christos # cracklibDict [path_to_cracklib_dictionary]
     69  1.1  christos # Description:
     70  1.1  christos # directory+filename-prefix that your version of CrackLib will go hunting for
     71  1.1  christos # For example, /var/pw_dict resolves as /var/pw_dict.pwd,
     72  1.1  christos # /var/pw_dict.pwi and /var/pw_dict.hwm dictionary files
     73  1.1  christos cracklibDict /var/cache/cracklib/cracklib_dict
     74  1.1  christos 
     75  1.1  christos # classes parameter
     76  1.1  christos # Format:
     77  1.1  christos # class-[CLASS_NAME] [CHARACTERS_DEFINING_CLASS] [MIN] [MIN_FOR_POINT]
     78  1.1  christos # Description:
     79  1.1  christos # [CHARACTERS_DEFINING_CLASS]: characters defining the class (no separator)
     80  1.1  christos # [MIN]: If at least [MIN] characters of this class is not found in the password, then it is rejected
     81  1.1  christos # [MIN_FOR_POINT]: one point is granted if password contains at least [MIN_FOR_POINT] character numbers of this class
     82  1.1  christos class-upperCase ABCDEFGHIJKLMNOPQRSTUVWXYZ 0 1
     83  1.1  christos class-lowerCase abcdefghijklmnopqrstuvwxyz 0 1
     84  1.1  christos class-digit 0123456789 0 1
     85  1.1  christos class-special <>,?;.:/!%*^$&~"#'{([-|`_\^@)]=}+ 0 1
     86