Brian,

The list seems overly static.  Why not have a configuration file for
GDM that has an allow/deny type of syntax?

Thanks,

John

Brian Cameron wrote:
> 
> Casper:
> 
>>>> nobody:x:60001:60001:NFS Anonymous Access User:/:
>>>> noaccess:x:60002:60002:No Access User:/:
>>>> nobody4:x:65534:65534:SunOS 4.x NFS Anonymous Access User:/:
>>>
>>> Since these users do not have valid shells specified, these would not
>>> be shown.
>>
>> These actually have a valid shell (the default shell, /bin/sh, is used 
>> when
>> the password shell lists the empty string for the shell).
> 
> Looking more closely at the GDM code, I see that it has a hardcoded list
> of users to not show in the face browser.  These include:
> 
>  "bin"
>  "root"
>  "daemon"
>  "adm"
>  "lp"
>  "sync"
>  "shutdown"
>  "halt"
>  "mail"
>  "news"
>  "uucp"
>  "operator"
>  "nobody"
>  GDM_USERNAME (normally the "gdm" user)
>  "postgres"
>  "pvm"
>  "rpm"
>  "nfsnobody"
>  "pcap"
> 
>> Can gdm determine which users are locked?
> 
> No.  GDM currently excluses users under MinimalUID (100), users without
> valid shells, and users in the above list.
> 
> It should not be hard to add extra logic to avoid adding other users
> if appropriate.  For example, is there a way to check which users are
> locked?  I am sure code could be added to exclude other types of
> appropriate users.
> 
>> Does gdm read  /etc/passwd directly (to find out the "local" accounts?)
>>
>> Or does gdm use getent()?  (This lists all users in files, nis, nis+ and
>> possibly LDAP)
> 
> It uses fgetpwent(), so it does not use nsswitch.conf.
> 
>>>> What about when NIS or LDAP is in use ? Do we really want GDM 
>>>> attempting
>>>> to display 38,000+ accounts ?
>>>
>>> As I explain above, this should not be an issue.
>>
>> So no getent?
>>
>> How does gdm detect which users logged in before?
> 
> ConsoleKit (LSARC 2009/432) keeps track of users that are logged in
> in the /var/log/ConsoleKit/history file which is owned by (root:root)
> and has 644 permissions.  The ck-history program is used by GDM to
> figure out which users to display.
> 
> Brian
> 

Reply via email to