У меня виртуальная машина Rhel 5, нормально подключенная к службе ldap, и сегодня я обнаружил, что ssh и su были сломаны. Оболочка просто зависнет при попытке выполнить одну из этих команд. Я смог войти в систему как root через консоль.
ssh был прерван после того, как пароль был принят (можно увидеть из /var /log /secure), более конкретно на этом этапе:
debug1: следующий метод аутентификации: пароль
xxxxxxx @ xxxxxx пароль:
debug2: мы отправили пакет пароля, ждем ответа
debug1: аутентификация прошла успешно (пароль).
debug1: канал 0: новый [клиент-сессия]
debug2: канал 0: отправить открыть
debug1: вход в интерактивный сеанс.
Переключение на любого локального пользователя через su также было невозможно, хотя /var /log /secure просили отличаться.
Что касается ssh, опция UseDNS (/etc/ssh/sshd_config) была прокомментирована, поэтому я думаю, что ее значение было «нет».
И несколько команд (ps, id, su, httpd ..) генерировали эту ошибку либо в /var /log /secure, либо в /var /log /messages
nss_ldap: failed to bind to LDAP server ldap://ldap-bla.bla.bla:###: Can't contact LDAP server
Через некоторое время я понял, что /etc/resolv.conf был неправильно настроен. Я исправил это, и проблема решена.
Тем не менее, я был бы очень признателен, если бы кто-нибудь помог мне разобраться в этом вопросе. Отчасти я вижу, что невозможность доступа к серверу ldap могла повлиять на все, что касается удаленных подключений или пользователей, но я бы хотел точно знать, почему su для локального пользователя также будет невозможен. И как это можно было решить без исправления ldap. Поможет ли удаление ldap из nsswitch.conf?
Это было так:
[root@xxxxxx ~]# grep -i ldap /etc/nsswitch.conf
passwd: files sss ldap
shadow: files sss ldap
group: files sss ldap
netgroup: files sss ldap
automount: files sss ldap
sudoers: files ldap
Заранее спасибо всем, у кого будет время ответить.