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