Добрый день!
Уважаемые знатоки, столкнулся с проблемой которую решить не в состоянии, прошу подсказки - как обойти грабли которые на моем лбу уже живого места не оставили.
В моей организации я поднял сервер на базе ALT Linux 7.0 Centaurus для нужд в собственном WEB и почты. Пользователи в его локальной LDAP.
Второй сервер - отдельный файловый, на базе ALT Linux 6.0 Centaurus. На нем свои пользователи, причем не в LDAP, а локальные. Естественно с ростом числа сотрудником и при постоянной текучке кадров встала задача сделать централизованную базу пользователей (стало лениво их перепрописывать). Я попытался настроить авторизацию пользователей файлового сервера через LDAP на первом сервере. Несколько неуклюжих неудачных попыток и отсутствие времени заставили на время отложить решение этой проблемы.
Сейчас я снова вернулся к решению этой задачи, но уже по другой причине. Захотелось всех пользователей полностью перевести на Linux при минимальном их отрыве от рабочего процесса. Я установил еще один сервер, чисто для решения ограниченного круга задач - он является сервером сетевой загрузки а также экспортером домашних директорий пользователей через nfs. В качестве загружаемого образа я выбрал Simply Linux 7.0.2 (самый свежий). Настройка сетевой загрузки, модификация загружаемого образа не вызвали никаких проблем - все загружается и можно зайти, но! - только с локально заведенным пользователем. В настройках консоли управления я переключил аутентификацию пользователей на керберос-домен поднятый на первом сервере. При загрузке образа появляется окно авторизации со всеми пользователями, которые есть в LDAP на первом сервере. Однако ввод пароля любого нелокального пользователя заканчивается выдачей сообщения что пароль неверный. Лог сервера говорит:
"krb5kdc[] бла-бла-бла ISSUE" в случае верного ввода пароля и
"krb5kdc[] бла-бла-бла PREAUTH_FILED" в случае неправильного.
Тоесть вроде как отрабатывает, но логина пользователя не происходит. Нюанс - домашних директорий к этому моменту еще нет. Я на всякий случай создал home одного пользователя вручную с его правами (права получаются с сервере - команда id -u user и id - g user выдают идентификаторы с LDAP-сервера), но это также не помогло.
Далее я решил организовать авторизацию без керберос, просто используя LDAP по следующим источникам:
1.
http://www.altlinux.org/OpenLDAP2.
http://www.opennet.ru/base/sys/pam_ldap.txt.htmlСитуация - таже самая: команда id видит пользователей на LDAP сервере, но лоигинтся под ними на машину невозможно потому как Login incorrect в терминале и "неверный пароль" в графической консоли.
По первой статье мне непонятны некоторые вещи:
нет таких файлов /etc/pam_ldap и /etc/ldap.conf, но есть /etc/nss_ldap.conf и /etc/openldap/ldap.conf
Насколько это существенно?
/etc/openldap/ldap.conf содержит следующую информацию:
tls_reqcert never
base dc=mydomain,dc=eu
uri ldaps://ldap.mydomain.eu
Без него LDAP сервер не видится, а вот без /etc/ldap.conf, но с /etc/openldap/ldap.conf видится прекрасно
В nss_ldap.conf я на всякий случай прописал base и uri, но в отстутствие /etc/openldap/ldap.conf сервер не видится все равно.
nsswitch.conf содержит
passwd: files ldap
shadow: tcb ldap files
group: files ldap
gshadow: files ldap
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files
bootparams: nisplus [NOTFOUND=return] files
netgroup: nisplus
publickey: nisplus
automount: files
aliases: files
ну и /etc/pam.d/system-auth указывает на дефолтный system-auth-ldap .
system-auth status выдает ldap dc=mydomain,dc=eu ldaps://ldap.mydomain.eu
заведение файла ldap.secret в /etc/openldap/ из 2 статьи тоже не помогает...
Подскажите пожалуйста - в чем может быть проблема, где искать? Методом полунаучного тыка уже перепробовал разные комбинации настроек вышеуказанных файлов, но ничего не помогает. Также хочется знать - не может ли быть это связано с тем что образ LiveCD и загружается по сети?
Проблему усугубляет еще тот факт что этот загружаемый LiveCD-образ не делает никаких логов, потому и подсказок-то нет.
Заранее благодарен за напутствия!
P.S. Прошу прощения за столь длинное повествование.