Heute habe ich eine PHP-Seite gebaut, mit der ich mein im LDAP abgelegtes Passwort verifizieren und ändern kann.

Sinnvolle Links kann ich dazu keine geben, das meisste steht in der PHP-Doku oder in der OpenLDAP-Admin-Doku. Da muss man sich eben seine Funktionen zusammensuchen. Wichtig sind die richtigen ACLs in der slapd.conf und, was mich am meisten Nerven gekostet hat, die Tatsache, dass die PHP-Funktion md5() einen base16-hash erzeugt, im LDAP die Passwörter aber in base64 stehen. Man muss die Passwörter also ordentlich base64-hashen:

1
base64_encode(mhash(MHASH_MD5,$pwd));

Dann klappt’s auch mit dem Passwort!