PDA

View Full Version : [SOLVED] gdm stale user list



kyuso
13th February 2010, 05:46 PM
Hi, I've Fedora 11 x86_64 with gdm 2.26.

I keep getting a list of old users in the gdm login, and I can't seem to remove them. None of the users are in /etc/passwd,shadow, nor can I find anything in /var/run/gdm, /var/gdm, /etc/gdm that seems to cache these old users.

I use openldap server for user info, and current gdm doesn't list any from ldap (except one), which is good for me. But the gdm user list shows users that don't exist in ldap either. There is one user that is in ldap that is listed, but not all, so I'm assuming the user was not retrieved from ldap.

Where else does gdm cache users to list? I checked last, but nothing that indicates gdm retrieved the users from there.

And gdm doesn't cache any new user logging in at all.

madhavdiwan
14th February 2010, 05:26 AM
hmm..
Are you certain you do not have an old /etc/gdm/custom.conf file with a [greeter] section that has a list of names to include in the greeter?

kyuso
17th March 2010, 07:28 AM
/etc/gdm/custom.conf is pretty much empty.


# GDM configuration storage
[xdmcp]
[chooser]
[security]
[debug]


I actually ran 'find' in /etc and /var and found only the following files having the user name or uid.


Binary file /var/log/btmp-20100301 matches
/var/log/gdm/:0-slave.log: pam: gdm-password[2084]: pam_unix(gdm-password:auth): auth could not identify password for [USER]
/var/log/secure: Mar 16:20:46:26 HOST pam: gdm-password[2048]: pam_unix(gdm-password:auth): auth could not identify password for [USER]
Binary file /var/log/btmp matches
Binary file /var/lib/mlocate/mlocate.db matches
Binary file /var/db/nscd/group matches

I really don't think any of the files found are related to the gdm user list.

I can't believe gdm is hiding the cached user list in some obscure location. They are not in /var/lib/gdm. Anyone knows? And why isn't any new user login being remembered at all?

kyuso
18th March 2010, 02:18 AM
Ok, so I decided to delve this mystery deeper, and I found that gdm has a bug. It won't list any user with a dash ('-').

I also found that the stale user name was due to my own fault of not updating both /etc/passwd and ldap (I keep a copy in /etc/passwd to allow login on the road.)

Phew, that was a really tough mystery to crack.

BTW, in the process, I found a little trick that hides users from gdm:

Create a link to a normal shell and chsh to that link and make sure the link file is not listed as a normal shell. Hopefully gdm will add a proper way of including/excluding users, so this hack would not be needed. But at least it's handy for now.