Openldap Passwort ändern

gargamel

Well-Known Member
Hallo,

hab da mal eine Frage bezüglich der openldap Anmeldung. Wie kann da ein normaler user sein Passwort ändern bzw. seine login shell ?

Shell ändern:
Code:
chsh -s bash
Password: 
chsh: Permission denied

Passwort ändern 1:
Code:
passwd
passwd: Sorry, `passwd' can only change passwords for local or NIS users.

Passwort ändern 2:
Code:
ldappasswd -D cn=test test, cn=lehrer,ou=leute,dc=example,dc=local -w secret -a secret -s secret2 
Change password of an LDAP user
.......

Danke im voraus,

Martin
 
Hi gargamel,

Hallo,

hab da mal eine Frage bezüglich der openldap Anmeldung. Wie kann da ein normaler user sein Passwort ändern bzw. seine login shell ?

Shell ändern:
Code:
chsh -s bash
Password: 
chsh: Permission denied

Passwort ändern 1:
Code:
passwd
passwd: Sorry, `passwd' can only change passwords for local or NIS users.

Passwort ändern 2:
Code:
ldappasswd -D cn=test test, cn=lehrer,ou=leute,dc=example,dc=local -w secret -a secret -s secret2 
Change password of an LDAP user
.......

Danke im voraus,

Martin

Du bist auf meinen Lieblingsbug gestoßen :D
Dazu gibt es bereits eine Menge PRs wie z.B. PR 71290, PR117812 und PR 121243.

Das Problem ist leider noch nicht gelöst, aber mit dem in den PRs gezeigten Patch funktioniert es. Nach dem Einspielen des Patches in /usr/src/usr.bin/passwd/passwd.c und anschließendem make install in diesem Verzeichnis funktioniert auch das Ändern des Passworts.
Aber Achtung: Nach jedem Update des Betriebssystems muß die Prozedur wiederholt werden! Außerdem funktionieren die Host-Based-Authentication und das Ändern der Shell nicht!

JueDan
 
Den Aufruf für ldappasswd kannst Du noch etwas verkürzen, wenn Du eine entsprechende .ldaprc in Deinem Home-Verzeichnis hast (BASE, BINDDN und URI dort setzen). Beispiel für eine .ldaprc:
Code:
BASE     dc=my-domain,dc=tld
URI      ldap://ldap.server.local
BINDDN   uid=ich,ou=users,dc=my-domain,dc=tld
Der Aufruf von ldappasswd könnte dann z. B. so aussehen:
Code:
ldappasswd -ZZxWS uid=ich,ou=users,dc=my-domain,dc=tld
-W sorgt dafür, dass ldappasswd ähnlich wie passwd nach dem neuen Passwort fragt. Den o. a. Aufruf als Alias in die .login oder .profle, und schon geht's einigermaßen mit der Handhabbarkeit.
 
Zurück
Oben