Home | History | Annotate | Line # | Download | only in ppm
      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.1.2  christos #   pwdCheckModuleArg:: bWluUXVhbGl0eSAzCmNoZWNrUkROIDAKY2hlY2tBdHRyaWJ1dGVzCmZvcmJpZGRlbkNoYXJzCm1heENvbnNlY3V0aXZlUGVyQ2xhc3MgMAp1c2VDcmFja2xpYiAwCmNyYWNrbGliRGljdCAvdmFyL2NhY2hlL2NyYWNrbGliL2NyYWNrbGliX2RpY3QKY2xhc3MtdXBwZXJDYXNlIEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIDAgMSAwCmNsYXNzLWxvd2VyQ2FzZSBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiAwIDEgMApjbGFzcy1kaWdpdCAwMTIzNDU2Nzg5IDAgMSAwCmNsYXNzLXNwZWNpYWwgPD4sPzsuOi8hwqfDuSUqwrVewqgkwqPCsibDqX4iIyd7KFstfMOoYF9cw6dew6BAKV3CsD19KyAwIDEgMAo=
     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.1.2  christos # checkAttributes parameter
     45  1.1.1.2  christos # Format:
     46  1.1.1.2  christos # checkAttributes [ATTR1,ATTR2,...]
     47  1.1.1.2  christos # Description:
     48  1.1.1.2  christos # Password must not contain a token from the values in the given list of attributes
     49  1.1.1.2  christos # Tokens are substrings of the values of the given attributes,
     50  1.1.1.2  christos # delimited by: space tabulation _ - , ; @
     51  1.1.1.2  christos # For example, if uid="the wonderful entry",
     52  1.1.1.2  christos # password must not contain "the", nor "wonderful", nor "entry"
     53  1.1.1.2  christos checkAttributes
     54  1.1.1.2  christos 
     55      1.1  christos # forbiddenChars parameter
     56      1.1  christos # Format:
     57      1.1  christos # forbiddenChars [CHARACTERS_FORBIDDEN]
     58      1.1  christos # Description:
     59      1.1  christos # Defines the forbidden characters list (no separator).
     60      1.1  christos # If one of them is found in the password, then it is rejected.
     61      1.1  christos forbiddenChars 
     62      1.1  christos 
     63      1.1  christos # maxConsecutivePerClass parameter
     64      1.1  christos # Format:
     65      1.1  christos # maxConsecutivePerClass [NUMBER]
     66      1.1  christos # Description:
     67      1.1  christos # Defines the maximum number of consecutive character allowed for any class
     68      1.1  christos maxConsecutivePerClass 0
     69      1.1  christos 
     70      1.1  christos # useCracklib parameter
     71      1.1  christos # Format:
     72      1.1  christos # useCracklib [0 | 1]
     73      1.1  christos # Description:
     74      1.1  christos # If set to 1, the password must pass the cracklib check
     75      1.1  christos useCracklib 0
     76      1.1  christos 
     77      1.1  christos # cracklibDict parameter
     78      1.1  christos # Format:
     79      1.1  christos # cracklibDict [path_to_cracklib_dictionary]
     80      1.1  christos # Description:
     81      1.1  christos # directory+filename-prefix that your version of CrackLib will go hunting for
     82      1.1  christos # For example, /var/pw_dict resolves as /var/pw_dict.pwd,
     83      1.1  christos # /var/pw_dict.pwi and /var/pw_dict.hwm dictionary files
     84      1.1  christos cracklibDict /var/cache/cracklib/cracklib_dict
     85      1.1  christos 
     86      1.1  christos # classes parameter
     87      1.1  christos # Format:
     88      1.1  christos # class-[CLASS_NAME] [CHARACTERS_DEFINING_CLASS] [MIN] [MIN_FOR_POINT]
     89      1.1  christos # Description:
     90      1.1  christos # [CHARACTERS_DEFINING_CLASS]: characters defining the class (no separator)
     91      1.1  christos # [MIN]: If at least [MIN] characters of this class is not found in the password, then it is rejected
     92      1.1  christos # [MIN_FOR_POINT]: one point is granted if password contains at least [MIN_FOR_POINT] character numbers of this class
     93  1.1.1.2  christos # [MAX]: if > [MAX] occurrences of characters from this class are found, then the password is rejected (0 means no maximum)
     94  1.1.1.2  christos class-upperCase ABCDEFGHIJKLMNOPQRSTUVWXYZ 0 1 0
     95  1.1.1.2  christos class-lowerCase abcdefghijklmnopqrstuvwxyz 0 1 0
     96  1.1.1.2  christos class-digit 0123456789 0 1 0
     97  1.1.1.2  christos class-special <>,?;.:/!%*^$&~"#'{([-|`_\^@)]=}+ 0 1 0
     98