Estou trabalhando nisso há cerca de uma semana e não consigo descobrir por que isso está acontecendo.
Eu tenho passwd
trabalhado, permitindo que os usuários alterem sua própria senha ldap de uma máquina cliente e trabalhando com a sobreposição de políticas:
$ passwd
Current Password:
New password:
BAD PASSWORD: The password is shorter than 8 characters
New password:
BAD PASSWORD: The password is a palindrome
New password:
BAD PASSWORD: The password is the same as the old one
passwd: Have exhausted maximum number of retries for service
passwd: password unchanged
No entanto, quando uso ldappasswd
para alterar minha senha, isso me permite criar senhas de uma letra e palíndromos, mas não senhas no meu histórico:
$ ldappasswd -H ldap://**** -x -D "uid=test,ou=Users,dc=***,dc=***,dc=***" -W -A -S
Old password:
Re-enter old password:
New password:
Re-enter new password:
Enter LDAP Password:
$
# no issues entering "a" as the password (this is bad)
$ ldappasswd -H ldap://**** -x -D "uid=test,ou=Users,dc=***,dc=***,dc=***" -W -A -S
Old password:
Re-enter old password:
New password:
Re-enter new password:
Enter LDAP Password:
Result: Constraint violation (19)
Additional info: Password is in history of old passwords
$
# entered "password" as the password and it doesn't let me change it
Idealmente, gostaria passwd
de ldappasswd
seguir a política de senha.
Aqui estão minhas regras de acesso na configuração do slapd:
/etc/ldap/slapd.d/cn=config/olcDatabase={1}mdb.ldif
...
# manager is the root bind dn, with password in /etc/ldap.secret
olcAccess: {0}to attrs=userPassword,shadowLastChange by self write by dn.base="uid=manager,ou=Users,dc=***,dc=***,dc=***" write by anonymous auth by * none
olcAccess: {1}to * by * read by dn.base="uid=manager,ou=Users,dc=***,dc=***,dc=***" write
...
Parece-me que passwd
está vinculado ao root dn, porque remover o acesso à conta do gerente faz com passwd
que pare de funcionar totalmente e ldappasswd
não seja afetado.
Qualquer ajuda é apreciada.