Univention Bugzilla – Bug 20239
Passwortänderung gegen einen Slave PDC
Last modified: 2010-12-10 16:36:44 CET
Die Passwortänderung gegen einen Slave PDC funktioniert momentan nicht. Unter Windows erscheint bei der Änderung des Passworts die Fehlermeldung, dass die Komplexität nicht ausreichend ist. Im Samba-Log ist dazu folgendes zu sehen: [2010/09/29 03:22:53.032879, 0] auth/pampass.c:586(smb_pam_account) smb_pam_account: PAM: UNKNOWN PAM ERROR (12) during Account Management for User: anton1 [2010/09/29 03:22:53.034734, 0] auth/pampass.c:794(smb_pam_accountcheck) smb_pam_accountcheck: PAM: Account Validation Failed - Rejecting User anton1! Traceback (most recent call last): File "/usr/share/univention-samba/password_check", line 45, in ? pwdCheck = univention.password.Check(None, username) File "/usr/lib/python2.4/site-packages/univention/password.py", line 45, in __init__ self._getConnection() File "/usr/lib/python2.4/site-packages/univention/password.py", line 58, in _getConnection self.lo = univention.uldap.getMachineConnection(start_tls, decode_ignorelist) NameError: global name 'start_tls' is not defined Das Austauschen der Zeile self.lo = univention.uldap.getMachineConnection(start_tls, decode_ignorelist) durch self.lo = univention.uldap.getMachineConnection(start_tls = 2, decode_ignorelist = []) behebt zwar den Traceback, aber nach einem längeren Timeout kommt unter Windows dann die Fehlermeldung 'Sie haben keine Berechtigung das Passwort zu ändern.
Die betreffende Zeile wurde durch self.lo = univention.uldap.getMachineConnection(start_tls=2) ausgetauscht. Danach waren Passwortänderungen an WindowsClients wieder möglich. Changelogeintrag wurde erstellt. Paket univention-python neu importiert und gebaut.
Ich erhalte nun folgendes auf einem 2.4-1 Slave gegen Windows XP, wenn ich das Passwort bei erneuter Anmeldung ändern möchte: [2010/11/22 15:44:25.337572, 0] auth/pampass.c:586(smb_pam_account) smb_pam_account: PAM: UNKNOWN PAM ERROR (12) during Account Management for User: windowsuser [2010/11/22 15:44:25.337654, 0] auth/pampass.c:794(smb_pam_accountcheck) smb_pam_accountcheck: PAM: Account Validation Failed - Rejecting User windowsuser! [2010/11/22 15:44:43.214467, 0] lib/util_sock.c:551(read_fd_with_timeout) read_fd_with_timeout: timeout read. read error = Input/output error. [2010/11/22 15:44:55.572870, 0] lib/util_sock.c:551(read_fd_with_timeout) read_fd_with_timeout: timeout read. read error = Input/output error. [2010/11/22 15:45:07.992704, 0] lib/util_sock.c:551(read_fd_with_timeout) read_fd_with_timeout: timeout read. read error = Input/output error. [2010/11/22 15:45:20.376722, 0] lib/util_sock.c:551(read_fd_with_timeout) read_fd_with_timeout: timeout read. read error = Input/output error. Am Windows Logon erhalte ich daraufhin die Meldung: "Sie haben keine Berechtigung, Ihr Kennwort zu ändern." reopen
Created attachment 2847 [details] ldif des Benutzers windowsuser Im Anhang befindet sich die Ausgabe von ldapsearch -xLLL -D "$ldap_hostdn" -w $(< /etc/machine.secret) uid=windowsuser root@qaslave:~# su - windowsuser Sie müssen Ihr Passwort sofort ändern (Passwortablauf). su: Authentifizierungstoken ist nicht mehr gültig; neues erforderlich (Ignoriert) windowsuser@qaslave:~$
Während des Passwortwechsels wird "/usr/share/univention-samba/password_check windowsuser" aufgerufen und das neue Passwort übergeben. Dies liefert den Exitstatus 0 zurück.
Das Maschinenkonto hatte nicht die notwendigen LDAP-Berechtigungen, um die LDAP-Attribute shadowMax und krb5PasswordEnd am Benutzerobjekt zu modifizieren. Die LDAP-ACLs in univention-ldap wurden entsprechend angepasst. Beide Attribute müssen nach dem Einspielen der neuen ACLs auch über ein anonymes ldapsearch abrufbar sein. Changelogeintrag wurde erweitert
(In reply to comment #5) > Das Maschinenkonto hatte nicht die notwendigen LDAP-Berechtigungen, um die > LDAP-Attribute shadowMax und krb5PasswordEnd am Benutzerobjekt zu modifizieren. > Beide Attribute müssen nach dem Einspielen der neuen ACLs auch über ein > anonymes ldapsearch abrufbar sein. Ich kann beide Attribute nun per anonymem ldapsearch finden, allerdings besteht das Problem am Windows Logon weiterhin mit gleicher Debugausgabe. reopen
(In reply to comment #6) > das Problem am Windows Logon weiterhin mit gleicher Debugausgabe. Ich habe im UDM die Option "Passwort bei der nächsten Anmeldung ändern" gesetzt. Windows Logon fordert mich auf, ein neues Passwort einzugeben, ich Anschluss erhalte ich "Sie haben keine Berechtigung das Passwort zu ändern"
Kannst du auf dem DC Master den LDAP Debuglevel aktivieren (auf 4) und die Logausgabe anhängen?
Die ACLs für shadowLastChange wurden auch angepasst. In der QA sollten auch Benutzer mit zugewiesener Passwort Ablaufrichtlinie getestet werden.
Die Änderung des Passworts gegen einen Slave PDC funktioniert, wenn - Der Benutzer es selbstständig ändert - Passwort bei nächster Anmeldung ändern gesetzt ist - Die Passwortrichtlinie es definiert. ChangeLog-Entrag vorhanden. Typo korrigiert
UCS 2.4-1 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte der Bug dupliziert werden: "Clone This Bug".