[lug] Xsession: Logon for <user> disabled!

Brandes, Ulrich, VTC-BED ulrich.brandes at vodafone-telecommerce.de
Tue Oct 2 07:03:15 MDT 2001


Hi folks,

after a lot of searching I finally found the solution to this "stupid"
problem which worked for me ( Suse 6.4 ).

When a user tries to login to the machine via xdm a script called Xsession (
dir should be something like /usr/X11R6/lib/X11/xdm ) is executed, which
contains a block of code like 

#
# Disable graphical login if normal login is disabled
#
login=false
while read sh ; do
    if test "$sh" = "$SHELL" ; then
        login=true
        break
    fi
done < /etc/shells

The problem occurs when the administrator creates a user account with the
wrong shell or let us say a missing shell. Imagine you create a user called
scott and with a default shell /usr/ksh. If you take a clooser look on
/usr/ksh you will find out that this is only a link which points to
/usr/bin/ksh. Now check the /etc/shells which may look like this:

/bin/ash
/bin/bash
/bin/bash1
/bin/csh
/bin/false
/bin/sh
/bin/tcsh
/bin/true
/usr/bin/csh
/usr/bin/ksh
/usr/bin/passwd
/usr/bin/rbash
/usr/bin/tcs
/usr/bin/zsh

If you put these values into the Xsession script you will see by whom all
the trouble is caused by. Based on the fact that no /bin/ksh entry is
included in  the /etc/shells the situation goes beserk as the variable login
is still false after all.  Simply modify your user accounts to a shell which
is being listed in /etc/shells or try to add another entry in /etc/shells
like /bin/ksh and try again.


cu

Ulrich


---------------------------------------------------------
This Mail has been checked for Viruses
Attention: Encrypted mails can NOT be checked!

**

Diese Mail wurde auf Viren geprueft
Hinweis: Verschluesselte mails koennen NICHT auf Viren geprueft werden!
---------------------------------------------------------




More information about the LUG mailing list