LDAP-Benutzer nicht in der Lage, Ihr Passwort zu ändern mit passwd Befehl
Habe ich eine grundlegende LDAP-setup ohne SSL konfiguriert. Benutzer können anmelden, aber nicht in der Lage, Ihr Passwort zu ändern mit passwd-Befehl. Ich habe zwar viele blogs, aber kein Glück. Ich habe deaktiviert selinux und iptables.
Jede Hilfe zu diesem wird sehr geschätzt.
Details unten
- OS: CentOS6.5
- LDAP: openldap-Server-2.4.23-34.el6_5.1.x86_64
- - Client-version: openldap-clients-2.4.23-34.el6_5.1.x86_64
Ausgabe vom terminal, wenn Sie versuchen, das Kennwort zu ändern:
[servername ~]$ passwd
Changing password for user dkrishna.
Enter login(LDAP) password:
New password:
Retype new password:
LDAP password information update failed: Insufficient access
passwd: Authentication token manipulation error
Unten sind die logs,
==> /var/log/secure <==
Oct 8 09:31:33 passwd: pam_unix(passwd:chauthtok): user "dkrishna" does not exist in /etc/passwd
Oct 8 09:31:42 passwd: pam_unix(passwd:chauthtok): user "dkrishna" does not exist in /etc/passwd
==> /var/log/messages <==
Oct 8 09:31:42 passwd: pam_ldap: ldap_modify_s Insufficient access
ACL konfiguriert ist, wie unten,
database config
access to *
by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
by * none
database monitor
access to *
by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
by dn.exact="cn=admin,dc=tibbr,dc=com" read
by * none
access to attrs=userPassword
by self write
by anonymous auth
by users none
access to * by * read
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fand ich die Lösung:
Fügen Sie die folgenden zwei Zeilen am Ende der Datei:
oclDatabase\=\{2\}bdb.ldif
bye
Sieht aus wie slapd.conf ist veraltet, wenn OCL-Datenbank konfiguriert ist.
Beachten Sie die folgenden snippet von OCL configuration guide:
"Von der Zeit, die Sie haben, führen Sie die Konvertierung der slapd.conf-Datei ist überflüssig. Beim laden von slapd sieht für das Konfigurations-Verzeichnis (Standard slapd.d) und liest seine Konfigurationsdateien von dort aus und initialisiert die OLC (cn=config) DIT. Wenn der slapd.d-Verzeichnis nicht gefunden, dann slapd sieht für slapd.conf."