Имеется небольшая сеть с сервером. На сервере стоит FreeBSD 7.0 и крутится NIS сервер. На клиентах стоит OpenSUSE 11.0 и соответсвенно крутятся клиенты NIS. NIS сервер работает нормально и эксортирует все необходимые данные. Если запустить ypcat на клиентах, то без проблем получается вся информация о паролях логинах и т.д. При попытке войти в систему под учетной записью NIS Иксы выдают ошибку "Login for USER is disabled". Эта ошибка выдается кодом в файле /etc/X11/xdm/Xsession. Вот часть кода этого файла, который генерирует это сообщение:#
# 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
if test "$login" != "true" -o "$SHELL" = "/bin/false" ; then
trap "exec xmessage -timeout 10 -button okay:1 -center \
\"${0##*/}: Login for $USER is disabled. \"" \
EXIT SIGHUP SIGINT SIGPIPE SIGTERM SIGIO
exit 1
fi
unset sh login
Попробовал изменить строку сообщения на следующую: \"${0##*/}: Login for $USER is disabled. $sh and $SHELL \"", что бы посмотреть значения переменных $sh и $SHELL. В результате получил сообщение следующего вида: "Login for $USER is disabled. and :::". Получается что переменная sh ничем не инициализирована, значение SHELL=":::". Если удалиь данный код из файла Xsession, то Иксы грузятся, но никакой шел не загружается.
Ни у кого нет идей в чем заключается проблема и как ее можно устранить?