Marking as public as the change was released into Debian, in LightDM releases and is in public branches.
** Description changed: - Package: lightdm - Version: 1.2.2-4 - Severity: important + [Impact] + LightDM does not correctly use PAM to change users passwords when they expire. This causes some PAM modules (e.g. pam_ldap) to not correctly perform password changing. - Dear Maintainer, - I have a working authentication configuration with ldap on my debian - wheezy workstation. Everything works fine except with lightdm when a - ldap user have to change his password due to expiration. The user is - able to login but in the next prompt, in place of asking new password, - the ldap administrator password is asked. I've seen i have the same - behaviour when i try to change a ldap user password via passwd as - root. - My nslcd configuration doesn't allow local root user to behave like - ldap administrator. - I've tried with gdm3 greeter and it works; it asks for new password - and it allows to change the password properly. - I've seen this different behaviour in auth.log: + [Test Case] + 1. Setup LDAP logins + 2. Expire users password + 3. Attempt to log into greeter + Expected result: + - User is prompted to change password. Password limitations are correctly enforced. + Observed result: + - User is prompted to change password. Password limitations are not correctly enforced. - with gdm3: - - debian gdm3][10414]: pam_ldap(gdm3:auth): nslcd authentication; user=test - debian gdm3][10414]: pam_ldap(gdm3:auth): authentication succeeded - debian gdm3][10414]: pam_unix(gdm3:account): expired password for user - test (password aged) - debian gdm3][10414]: pam_unix(gdm3:chauthtok): username [test] obtained - debian gdm3][10414]: pam_unix(gdm3:chauthtok): user "test" does not - exist in /etc/passwd - debian gdm3][10414]: pam_ldap(gdm3:chauthtok): nslcd authentication; user=test - debian gdm3][10414]: pam_ldap(gdm3:chauthtok): authentication succeeded - debian gdm3][10414]: pam_unix(gdm3:chauthtok): username [test] obtained - debian gdm3][10414]: pam_unix(gdm3:chauthtok): user "test" does not - exist in /etc/passwd - - with lightdm: - - debian lightdm: pam_ldap(lightdm:auth): nslcd authentication; user=test - debian lightdm: pam_ldap(lightdm:auth): authentication succeeded - debian lightdm: pam_unix(lightdm:account): expired password for user - test (password aged) - debian lightdm: pam_unix(lightdm:chauthtok): username [test] obtained - debian lightdm: pam_unix(lightdm:chauthtok): user "test" does not - exist in /etc/passwd - debian lightdm: pam_ldap(lightdm:chauthtok): nslcd authentication; user= - debian lightdm: pam_ldap(lightdm:chauthtok): user not handled by nslcd - - As you can see nslcd authentication have user value set in gdm3. - Lightdm have a blank value instead. - - I've tried with lightdm-gtk-greeter and lightdm-crowd-greeter just to - check if it was a greeter problem but the problem remains with both. - - - -- System Information: - Debian Release: 7.3 - APT prefers stable-updates - APT policy: (500, 'stable-updates'), (500, 'stable') - Architecture: i386 (i686) - - Kernel: Linux 3.2.0-4-686-pae (SMP w/2 CPU cores) - Locale: LANG=it_IT.UTF-8, LC_CTYPE=it_IT.UTF-8 (charmap=UTF-8) - Shell: /bin/sh linked to /bin/dash - - Versions of packages lightdm depends on: - ii adduser 3.113+nmu3 - ii consolekit 0.4.5-3.1 - ii dbus 1.6.8-1+deb7u1 - ii debconf [debconf-2.0] 1.5.49 - ii libc6 2.13-38 - ii libglib2.0-0 2.33.12+really2.32.4-5 - ii libpam0g 1.1.3-7.1 - ii libxcb1 1.8.1-2+deb7u1 - ii libxdmcp6 1:1.1.1-1 - ii lightdm-gtk-greeter [lightdm-greeter] 1.1.6-2 - - Versions of packages lightdm recommends: - ii xserver-xorg 1:7.7+3~deb7u1 - - Versions of packages lightdm suggests: - ii accountsservice 0.6.21-8 - ii upower 0.9.17-1 - - -- Configuration Files: - /etc/lightdm/lightdm.conf: - [LightDM] - [SeatDefaults] - xserver-allow-tcp=false - greeter-session=lightdm-greeter - greeter-hide-users=true - user-session=gnome-session - session-wrapper=/etc/X11/Xsession - [XDMCPServer] - [VNCServer] - enabled=true - port=5900 - width=1024 - height=768 - depth=8 - - /etc/pam.d/lightdm: - auth requisite pam_nologin.so - auth required pam_env.so readenv=1 - auth required pam_env.so readenv=1 envfile=/etc/default/locale - @include common-auth - @include common-account - session [success=ok ignore=ignore module_unknown=ignore default=bad] - pam_selinux.so close - session required pam_limits.so - session required pam_loginuid.so - @include common-session - session [success=ok ignore=ignore module_unknown=ignore default=bad] - pam_selinux.so open - @include common-password - - In addition to these files my configuration is: - - nslcd.conf: - uid nslcd - gid nslcd - uri ldap://ldap2 - uri ldap://ldap1 - base passwd ou=people,dc=myorg - base shadow ou=people,dc=myorg - base group ou=groups,dc=myorg - ldap_version 3 - binddn cn=reader,dc=myorg - bindpw readerpass - ssl start_tls - tls_reqcert allow - - common-auth: - - auth [success=5 default=ignore] pam_unix.so nullok_secure debug - auth [success=3 authinfo_unavail=ignore default=1] pam_ldap.so - minimum_uid=1000 use_first_pass debug - auth [success=3 default=ignore] pam_ccreds.so action=validate use_first_pass - auth [default=bad] pam_ccreds.so action=update - auth requisite pam_deny.so - auth [default=ignore] pam_ccreds.so action=store - auth required pam_permit.so - - common-account: - - account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so - account [success=1 new_authtok_reqd=done authinfo_unavail=1 - default=ignore] pam_ldap.so minimum_uid=1000 debug - account requisite pam_deny.so - account required pam_permit.so - - common-password: - - password [success=2 default=ignore] pam_unix.so obscure sha512 debug - password [success=1 new_authtok_reqd=1 default=ignore] - pam_ldap.so minimum_uid=1000 try_first_pass debug - #password [default=1] pam_ldap.so minimum_uid=1000 - try_first_pass debug - password requisite pam_deny.so - password required pam_permit.so - - common-session: - - session [default=ok] pam_permit.so - session [default=ignore] pam_unix.so - session [default=ignore] pam_ldap.so minimum_uid=1000 - session [default=ignore] pam_mkhomedir.so skel=/etc/skel umask=0022 - - -- debconf information: - lightdm/daemon_name: /usr/sbin/lightdm - * shared/default-x-display-manager: lightdm - - Thank you for support. + [Regression Potential] + Any PAM module that relied on the previous incorrect behaviour might behave differently. It is not expected that any module would intentionally do this. ** Information type changed from Private to Public -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1270118 Title: lightdm ask ldap administrator password when changing an expired password To manage notifications about this bug go to: https://bugs.launchpad.net/lightdm/+bug/1270118/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs