Автор Тема: Не работает авторизация на Simply Linux Live загружаемому по сети.  (Прочитано 2948 раз)

Оффлайн Станислав

  • Участник
  • *
  • Сообщений: 62
Добрый день!

Уважаемые знатоки, столкнулся с проблемой которую решить не в состоянии, прошу подсказки - как обойти грабли которые на моем лбу уже живого места не оставили.

В моей организации я поднял сервер на базе 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/OpenLDAP
2. 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. Прошу прощения за столь длинное повествование.
« Последнее редактирование: 17.01.2014 14:55:46 от Станислав »
Истина ничуть не страдает от того, признаем мы ее или нет.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 169
    • Домашняя страница
Андрей Черепанов (cas@)

Оффлайн Станислав

  • Участник
  • *
  • Сообщений: 62
Благодарю за ответ!

Но буквально только-что сам разобрался. Керберос работает корректно. Оказалась причина во мне - я всем пользователям по умолчанию поставил shell /sbin/nologin со всеми вытекающими...

Авторизация просто через LDAP (не посредством  керберос) не заработала видимо все равно что-то я упускаю в настройках. Раз заработало через керберос, то оставлю как есть.


Истина ничуть не страдает от того, признаем мы ее или нет.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 169
    • Домашняя страница
Это даст возможность и сетевые диски автоматом подключать.
Андрей Черепанов (cas@)

Оффлайн Станислав

  • Участник
  • *
  • Сообщений: 62
Это даст возможность и сетевые диски автоматом подключать.
Я видел в настройках системы в разделе настройки сетевых ресурсов такую возможность - подключение домашних папок пользователей и общей шары. Как я понял эти ресурсы будут подключаться с сервера, где керберос и база пользователей и посредством samb-ы? Правильно?
Я у себя сейчас сделал так что папка home целиком монтируется в режиме rw по nfs с сервера откуда осуществляется сетевая загрузка. На том сервере в качестве источника аутентификации пользователей также используется LDAP с первого сервера, а потому права на вновь создаваемые папки выставляются правильно.
Столкнулся со следующей проблемой - почтовый клиент Thundebird запускается только, если залогиниться под локальной учетной записью, а у серверных учеток запуска почему-то не происходит. Пока не понял в чем проблема.

Андрей, спасибо за консультации!
Истина ничуть не страдает от того, признаем мы ее или нет.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 169
    • Домашняя страница
Да, по cifs. Для запуска Thunderbird под сетеаым пользователем на рабочей станции установите nss-ldapd.
Андрей Черепанов (cas@)

Оффлайн Станислав

  • Участник
  • *
  • Сообщений: 62
Да, по cifs. Для запуска Thunderbird под сетеаым пользователем на рабочей станции установите nss-ldapd.

Спасибо, попробую!

Еще один вопрос, если не затруднит  ::)... Сейчас вся директория /home , как я упоминал в первом посте, монтируется посредством nfs с сервера сетевой загрузки. Очень хочется монтировать каждому конкретному пользователю лишь его собственную домашнюю папку плюс сетевые ресурсы нужные лишь для него. Как вы упомянули выше можно было-бы монтировать сетевые ресурсы конкретного пользователя встроенными средствами. Но беда в том что очень не хочется чтобы домашние папки пользователей лежали на машине, посредством которой осуществляется авторизация (она доступна в Интернете, да и не хочется ее нагружать лишними операциями). Соответственно вопрос - как сделать подключение домашней папки пользователя с другого ресурса по факту логина пользователя?!
Отсюда http://www.linuxcenter.ru/lib/books/kostromin/gl_08_02.phtml я сделал вывод, что по всей видимости это можно сделать только поместив соответствующий скрипт в /etc/profile.d (так как личный профиль пользователя еще отсутствует до момента монтирования его домашней папки и соответственно система "смотрит в сторону дефолтных настроек"). Подскажите пожалуйста - верен ли ход моих мыслей и не противоречит ли это каким-либо концепциям ALT Linux.
Благодарю!
Истина ничуть не страдает от того, признаем мы ее или нет.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 169
    • Домашняя страница
Поищите по форуму обсуждение правки /etc/security/pam_mount.xml
Если для каждого пользователя свой набор, то через его ~/.bash_profile
Андрей Черепанов (cas@)

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 169
    • Домашняя страница
Если домашние каталоги не созданы, то через profile.d
Андрей Черепанов (cas@)

Оффлайн Станислав

  • Участник
  • *
  • Сообщений: 62
Если домашние каталоги не созданы, то через profile.d
Они не то чтобы не созданы, они еще не смонтированы - так как монтирование конкретной /home по задумке должно происходить уже после авторизации пользователя и  "~/.bash_profile", соотвественно появится несколько позже :)
 
Поищите по форуму обсуждение правки /etc/security/pam_mount.xml
Поищу! Покорнейше благодарю за помощь!
« Последнее редактирование: 19.01.2014 18:57:52 от Станислав »
Истина ничуть не страдает от того, признаем мы ее или нет.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 169
    • Домашняя страница
Если домашние каталоги единообразно монтируются, то дополнительные диски можно из них монтировать.
Андрей Черепанов (cas@)

Оффлайн Станислав

  • Участник
  • *
  • Сообщений: 62
Спасибо, Андрей!

Thunderbird заработал. С монтированием ресурсов еще буду думать как лучше поступить.
Истина ничуть не страдает от того, признаем мы ее или нет.