Bug 28896 - Unterstützung von Passwortwechseln in lightdm
Unterstützung von Passwortwechseln in lightdm
Status: CLOSED FIXED
Product: Z_Univention Corporate Client (UCC)
Classification: Unclassified
Component: General
unspecified
Other Linux
: P5 normal
: UCC 1.0
Assigned To: Felix Botner
Moritz Muehlenhoff
: interim-4
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-10-24 12:07 CEST by Moritz Muehlenhoff
Modified: 2013-03-26 09:14 CET (History)
0 users

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Moritz Muehlenhoff univentionstaff 2012-10-24 12:07:45 CEST
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.
Comment 1 Moritz Muehlenhoff univentionstaff 2012-12-21 11:13:48 CET
defer_pwchange wurde bereit integriert, aber die Überarbeitung der PAM-Konfiguration, so dass nur noch Kerberos zur Authentifzierung verwendet wird, steht noch aus.
Comment 2 Moritz Muehlenhoff univentionstaff 2013-01-11 09:16:30 CET
Die Anpassung der krb5.conf ist schon erfolgt, nur die Anpassung von PAM steht noch aus.
Comment 3 Felix Botner univentionstaff 2013-01-14 13:43:24 CET
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).
Comment 4 Felix Botner univentionstaff 2013-01-23 14:23:58 CET
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.
Comment 5 Felix Botner univentionstaff 2013-01-29 12:34:36 CET
tritt auch noch mit Version 1.2.1-0ubuntu1.1 auf.
Comment 6 Felix Botner univentionstaff 2013-01-29 17:57:39 CET
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...
Comment 7 Felix Botner univentionstaff 2013-01-31 14:41:09 CET
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
Comment 8 Moritz Muehlenhoff univentionstaff 2013-02-01 16:09:00 CET
"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.
Comment 9 Moritz Muehlenhoff univentionstaff 2013-03-26 09:14:24 CET
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".