Я пытаюсь реализовать политику паролей в OpenLDAP.
Пока вот так выглядит мой LDIF:
dn: cn=module{0},cn=config
changeType: modify
add: olcModuleLoad
olcModuleLoad: ppolicy
dn: olcOverlay=ppolicy,olcDatabase={1}hdb,cn=config
objectClass: olcPpolicyConfig
olcOverlay: ppolicy
olcPPolicyDefault: cn=ppolicy,dc=ldaptuto,dc=net
olcPPolicyUseLockout: FALSE
olcPPolicyHashCleartext: TRUE
dn: cn=ppolicy,dc=ldaptuto,dc=net
objectClass: device
objectClass: pwdPolicyChecker
objectClass: pwdPolicy
cn: ppolicy
pwdAllowUserChange: TRUE
pwdAttribute: userPassword
pwdMinLength: 10
pwdCheckQuality: 1
pwdInHistory: 5
pwdMustChange: TRUE
pwdMaxAge: 7776000
pwdMaxFailure: 10
pwdLockout: TRUE
pwdLockoutDuration: 1800
Мне нужно убедиться, что когда пользователь меняет свой пароль, новый пароль отличается как минимум на 2 позиции от старого пароля.
Я не нашел никакого параметра политики в вики LDAP для этого. Я также пытался искать в Интернете безрезультатно.
Я подумал, что мог бы написать свою собственную программу проверки паролей, что-то вроде this , однако я не вижу старого пароля, используемого в процессе проверки.
Как я могу реализовать политику, гарантирующую, что новый пароль отличается как минимум на 2 позиции от старого в OpenLDAP?