Univention Bugzilla – Bug 28896
Unterstützung von Passwortwechseln in lightdm
Last modified: 2013-03-26 09:14:24 CET
Setzt man in der /etc/krb5.conf des UCC-Clients unter [libdefaults] die folgende Option defer_pwchange = true funktionieren Passwortwechsel bei abgelaufenen Passwörtern. (Getestet, in dem eine PW-Richtlinie gesetzt wurde und per ldapmodify shadowLastChange auf einen kleineren Wert gesetzt wurde). Wir sollten das in univention-ucc-pam integrieren und Seiteneffekte bei der Anmeldung testen. Außerdem sollte geprüft werden, ob wir in der PAM-Konfiguration für die Authentifizierung nur noch auf Kerberos zugreifen sollten.
defer_pwchange wurde bereit integriert, aber die Überarbeitung der PAM-Konfiguration, so dass nur noch Kerberos zur Authentifzierung verwendet wird, steht noch aus.
Die Anpassung der krb5.conf ist schon erfolgt, nur die Anpassung von PAM steht noch aus.
pam_ldap wurde nun aus common-auth und common-password entfernt. Leider tritt bei mir aber der Bug https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/972537 noch auf (trotz defer_pwchange = true in der krb5.conf).
Ich bin mir nicht sicher, ob dass defer_pwchange wirklich greift. Wenn ich mich mit einem Benutzer, der sein Passwort ändern muss, am lightdm anmelde, sehe ich in der auth.log folgendes: (common-auth: auth [success=5 default=ignore] pam_krb5.so minimum_uid=1000 try_first_pass debug defer_pwchange) pam_krb5(lightdm:auth): pam_sm_authenticate: entry pam_krb5(lightdm:auth): (user test1) attempting authentication as test1@FBU.CC pam_krb5(lightdm:auth): (user test1) krb5_get_init_creds_password: Generic error (see e-text) pam_krb5(lightdm:auth): authentication failure; logname=test1 uid=0 euid=0 tty=:0 ruser= rhost= pam_krb5(lightdm:auth): pam_sm_authenticate: exit (failure) Das eigentliche Problem des lightdm ist, dass pam_krb5 das Passwort in "pam_authenticate" ändern will und nicht (standardkonform) in "pam_acct_mgmt". Mit "defer_pwchange" sollte dieses eigenwillige pam_kerb5 Verhalten eigentlich geändert werden können, so dass er sich wieder an den pam Standard hält. Jedoch sieht die obige log Meldung (lightdm:auth) so aus, als würde das nicht klappen. Man sollte erst einmal libpam-krb5 untersuchen, ob er das "defer_pwchange" wirklich erkennt und verwendet. Sollte das nicht der Fall sein, müsste man libpam-krb5 entsprechend anpassen und der lightdm sollte dann (mit defer_pwchange) den Passwort-Wechsel unterstützen. Verhält sich libpam-krb5 richtig (verwendet also "pam_acct_mgmt" für den Passwort-Wechsel falls "defer_pwchange" gesetzt ist), müsste wohl der lightdm und der lightdm-gtk-greeter angepasst werden.
tritt auch noch mit Version 1.2.1-0ubuntu1.1 auf.
Auch mit lightdm_1.2.3 tritt das Problem noch auf. Aus dem Bug geht hervor, dass der lightdm und der greeter angepasst werden müssen. Die entsprechenden Änderungen an unity-greeter kann ich nicht finden, aber selbst wenn, wir verwenden ja den gtk-greeter...
Mit dem neuen lightdm (1.2.3-0ubuntu1.1.201301310844) und dem unity-greeter (0.2.9-0ubuntu1.2.201301310849) funktioniert der Passwort-Wechsel. Getestet mit -> udm users/user modify --dn uid=test1,dc=fbu,dc=cc --set pwdChangeNextLogin=1 bzw. mit ldapmodify aus sambaPwdLastSet: 1156898805 shadowLastChange: 1 krb5PasswordEnd: 20110208000000Z
"Passwort bei der nächsten Anmeldung ändern" forciert einen Passwortwechsel, mit dem angenommenen Passwort kann man sich anschließend anmelden. ldapmodify mit sambaPwdLastSet, shadowLastChange und krb5PasswordEnd forciert einen Passwortwechsel, mit dem angenommenen Passwort kann man sich anschließend anmelden. Die "Konto-Deaktivierung" sperrt einen Benutzer auch an LightDM.
UCC 1.0 has been released: http://forum.univention.de/viewtopic.php?f=26&t=2417 http://forum.univention.de/viewtopic.php?f=54&t=2418 If this error occurs again, please use "Clone This Bug".