[Half-Solved] Актуализация изменений в механизме авторизации

Есть некоторый сервер, авторизация которого переделана на OpenLDAP (используется сервер, например ldap-1).
Нужно поменять его (в смысле используемый для авторизации сервер LDAP на другой адрес, например ldap-2).
Простого изменения адресов в конфиге клиента, используемого для авторизации (ldap.conf) недостаточно, что естественно.
Но вот что (в каком порядке) нужно перезапустить для актуализации этих изменений непонятно.

Конечно можно перезагрузить систему...
Но это --- неспортивное решение.

Никто не сталкивался с такой ситуацией?

Это системная авторизация,

Это системная авторизация, т.е. через pam_ldap && pam_nss ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

.

slepnoga написал(а):
Это системная авторизация, т.е. через pam_ldap && pam_nss ?

Да, это системная авторизация, т.е. sys-auth/nss_ldap && sys-auth/pam_ldap.

ЗЫ: Мне почему-то казалось, что оно должно было бы следовать из текста вопроса... :(

:wq
--
Live free or die

The IP address (or hostname)

The IP address (or hostname) of the LDAP server. The value must be resolvable without LDAP support. If a host is not specified, the nss_ldap library will attempt to locate an LDAP server by querying DNS for an SRV record for _ldap._tcp.<domain>. The current version of the pam_ldap module (v157) will not perform this auto-lookup, but support is planned for a future release. Also refer to the uri parameter.

В 185 по моим прикидкам это уже есть.

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

.

slepnoga написал(а):
В 185 по моим прикидкам это уже есть.

По моему опыту работает... как минимум в 184.

Наверное я недостаточно внятно выразился :(
Система использовала для авторизации ldap-1.
Теперь его нет. Совсем.
Есть аналогичный ldap-2.
Конфиги системы актуализированы.
Но в текущем состоянии она ломится по адресу ldap-1.
Если её перезагрузить, она будет ломиться, как и положено, на ldap-2.
Но это решение я считаю неспортивным и пытаюсь понять: что и в каком порядке надо перезапустить, чтобы запросы на авторизацию обрабатывались ldap-2.

:wq
--
Live free or die

Конфиг nscd в студию ( именно

Конфиг nscd в студию ( именно он, как ни странно, и кешит эту инфу)

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

/

slepnoga написал(а):
Конфиг nscd в студию ( именно он, как ни странно, и кешит эту инфу)

Есть нехорошее подозрение, что не в кэше (и/или не в nscd) дело.
Оставил стенд на выходные.
В понедельник пришёл и успешно залогинился с паролем из passwd.
Ручной перезапуск nscd на воспроизводимость опыта влияния не оказал.

:wq
--
Live free or die

Цитата: успешно залогинился с

Цитата:
успешно залогинился с паролем из passwd.

Из /etc/passwd ? Логин оттуда точно отключен в PAM ?

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

.

slepnoga написал(а):
Из /etc/passwd ? Логин оттуда точно отключен в PAM ?

Да. В этой части я слегка промахнулся.

# grep ldap /etc/nsswitch.conf
passwd: files ldap

Соответственно в таком виде с паролем из passwd пускать должон.
Если вынести files, с паролем из LDAP'а пускает, но здесь во-первых сама идея несколько... стрёмная, да и я не хочу совсем и полностью завязываться на LDAP, а во-вторых я явно чего-то недопонимаю скорее всего в структуре дерева (корректно работает не всё)...

Изменения в конфиге pam_ldap также отрабатываются мгновенно (чего в реальном случае я не наблюдал).
Размышляю над причинами: то ли собака порылась в версиях {pam,nss}_ldap; то ли в том, что стенд, в отличие от рабочей системы, фактически не нагружен.

ЗЫ: Только вот это счастье (авторизация по паролю хоть из passwd, хоть из LDAP'а, работает только при живом LDAP-сервере (правильных настройках доступа к оному).
При несоблюдении этого требования обламываются попытки [авторизации] с любым паролем.

:wq
--
Live free or die

Если вынести files, с паролем

Если вынести files, с паролем из LDAP'а пускает, но здесь во-первых сама идея несколько... стрёмная, да и я не хочу совсем и полностью завязываться на LDAP, 

ИМХО, что то вроде sys-auth/pam_ccreds (http://www.padl.com/OSS/pam_ccreds.html) (забирать в рионе) или sys-auth/pam_keystore ( http://www.calculate-linux.org/pam_keystore :) - насчет хардмаскед - читать комменты Диего) должно помочь.

Изменения в конфиге pam_ldap также отрабатываются мгновенно (чего в реальном случае я не наблюдал).
 Размышляю над причинами: то ли собака порылась в версиях

Он же у тебя в продакшене вроде бы на фряхе ?

При несоблюдении этого требования обламываются попытки [авторизации] с любым паролем.

Смотря как сделан pam. если первым идет лдап, и он сделан в логике да/нет - то все правильно, имхо должно быть так:

1) смотрим в пассвд ( спокойно, оно закешено в nscd) - если ответ fail, то п.2, если пасс - в лдап не смотрим
2) смотрим в лдап - если pass, то пускаем, если fail,то авторизация не прошла

П.С это же как бег с барьерами разной высоты =)

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga написал(а): Если

slepnoga написал(а):
Если вынести files, с паролем из LDAP'а пускает, но здесь во-первых сама идея несколько... стрёмная, да и я не хочу совсем и полностью завязываться на LDAP, 

ИМХО, что то вроде sys-auth/pam_ccreds (http://www.padl.com/OSS/pam_ccreds.html) (забирать в рионе) или sys-auth/pam_keystore ( http://www.calculate-linux.org/pam_keystore :) - насчет хардмаскед - читать комменты Диего) должно помочь.

Спасибо, добрый человек :)
Мне их скрипта для миграции хватило... выше крыши :)
Хотя сами модули вполне...

slepnoga написал(а):
Он же у тебя в продакшене вроде бы на фряхе ?

Ну и что?..
Ты видел их официальную документацию?
С ldap-howto сравнивал?

Тем более, что программы одни и те ж. А перевести ньюансы настройки --- не проблема.

slepnoga написал(а):
При несоблюдении этого требования обламываются попытки [авторизации] с любым паролем.

Смотря как сделан pam. если первым идет лдап, и он сделан в логике да/нет - то все правильно, имхо должно быть так:

1) смотрим в пассвд ( спокойно, оно закешено в nscd) - если ответ fail, то п.2, если пасс - в лдап не смотрим
2) смотрим в лдап - если pass, то пускаем, если fail,то авторизация не прошла

П.С это же как бег с барьерами разной высоты =)

А как он сделан товарищами с padl.com? ;)
Именно, что оно и есть...

:wq
--
Live free or die

Итого:

Если сервер, конфигурация которого меняется, под нагрузкой (вполне реальный случай --- далеко не всегда возможно, да и не всегда нужно обеспечить полный вывод для реконфигурации), то:

1. Перед внесением изменений рекомендуется получить список демонов (точнее --- идентификаторов процессов), подключённых к LDAP'у. netstat в помощь;
2. Исправить адрес сервера авторизации в /etc/ldap.conf;
3. Послать всем [демонам] [сигнал] HUP;
4. Проверить (тот же netstat) переключение всех демонов на новый LDAP-сервер.
5. После чего старый LDAP-сервер (или адрес) с чистой совестью можно гасить.

Погорячился...
Это --- в нормальном режиме.
При выпадении LDAP'а (даже при наличии консоли с UID 0) грустно...

:wq
--
Live free or die

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".