URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 84126
[ Назад ]

Исходное сообщение
"Проблемы. NIS сервер (FreeBSD) + NIS клиент (OpenSUSE 11.0)"

Отправлено nekrutkin , 16-Фев-09 15:08 
Имеется небольшая сеть с сервером. На сервере стоит 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, то Иксы грузятся, но никакой шел не загружается.
Ни у кого нет идей в чем заключается проблема и как ее можно устранить?


Содержание

Сообщения в этом обсуждении
"Проблемы. NIS сервер (FreeBSD) + NIS клиент (OpenSUSE 11.0)"
Отправлено Anatoliy , 16-Фев-09 22:56 
>
>
>Попробовал  изменить строку сообщения на следующую: \"${0##*/}: Login for $USER is
>disabled. $sh and $SHELL \"", что бы посмотреть значения переменных $sh
>и $SHELL. В результате получил сообщение следующего вида: "Login for $USER
>is disabled.  and :::". Получается что переменная sh ничем не инициализирована,
>значение SHELL=":::". Если удалиь данный код из файла Xsession, то Иксы
>грузятся, но никакой шел не загружается.
>Ни у кого нет идей в чем заключается проблема и как ее
>можно устранить?

Насколько я понимаю, скрип смотрит shell выставленный пользователю и ищет его в списке доступных (/etc/shells). Находит - пользователю дается доступ, не находит - выдается сообщение об ошибке.