[Volgograd] pam & ns
Taras Ablamsky
t на v-lug.vlink.ru
Вт Янв 20 11:07:29 MSK 2004
Привет.
Dwarf пишет:
>
> Ок. Ты не можешь выслать мне всю свою директорию /etc/pam.d? Дело в
> том, что то, что ты прислал ничего не говорит о passwd. Там только
> авторизация пользователей, которая у меня и так работала.
/etc/pam.d у меня "из коробки" единственное, что по-другому, это
system-auth и system-auth-use_first_pass
(если очень хочется посмотреть на стандартные конфиги, могу выслать
ближе к вечеру с работы. А вообще apt-get install --reinstall имя_пакета)
Дело в том, что в остальные файлы они включаются посредством pam_stack
(в старом PAM) или посредством include (в новом)
>
> И ещё. Почему у меня не работает nscd с LDAP? Поясню ;) Я пользую
> nscd только для того, чтобы получать группы из LDAP. В nsswitch.conf
> имею такую строку:
>
> $cat /etc/nsswitch.conf | grep "^[^#]" | grep 'ldap'
> group: files ldap nisplus nis
>
Очень, очень важный момент:
НЕ ИСПОЛЬЗУЙТЕ nscd ПРИ НАСТРОЙКЕ!
Либо нужно очень четко представлять что он делает, либо вырубать его
совсем. То есть, сначала делаем
service nscd stop
chkconfig nscd off
и только потом начинаем думать о том, что неплохо бы сделать авторизацию
через LDAP или там еще через что.
Так вот, насколько я понимаю проблема в том, что ты не до конца
осознаешь чем занимается Name Service и чем занимается PAM.
t на v-lug ~ $ mova authentication
authentication [OЫ,TentI`keISэn] n. идентификация
t на v-lug ~ $ mova authorization
authorization [,OЫTэraI`zeISэn] n.
1> уполномочивание
2> санкция, разрешение
То есть authentication и authorization -- два очень похожих, но разных
понятия.
t на v-lug ~ $ man pam
PAM(8) Linux-PAM Manual PAM(8)
NAME
Linux-PAM - Pluggable Authentication Modules for Linux
SYNOPSIS
/etc/pam.conf
...
То есть "подключаемые модули _идентификации_"
Это может быть все что угодно:
pam_unix -- который, провеяет достоверность пользователя по файлам
/etc/passwd и /etc/shadow
pam_pwdb -- использующий libpwdb;
pam_ldap -- который спрашивает информацию у LDAP сервера;
и тд, может быть модуль работающий с устройством идентификации по
отпечаткам пальцев или по сетчатке глаза, или вообще там какой-нибудь
pam_telepate
На самом деле там есть еще нюансы, но все это описано в документации к
PAM (у нас это пакет pam-doc).
Name Service (Служба имен) -- это несколько иное...
Но не хочу, я рассказывать то, что написано в любой нормальной книжке по
Unix (заметьте даже не по Linux). Только что посмотрел man nsswitch.conf
он у нас даже _на_русском_ языке.
> Как видишь, только в одной строке у меня стоит упоминание о
> group. Почему не хочет ничего брать nscd из базы. Впрочем я сейчас
> ковыряюсь в присланных тобой конфигах, думаю, что что-нибудь выясню
> для себя нового.
>
> Кстати, зачем к LDAP обращается pam по поводу групп (согласно конфигу
> в ldap.conf, впрочем в логах всё равно не видно, чтобы он ковырялся в
> ou=Group)? Всё равно login трясёт nscd по этому поводу?
>
PAM не имеет никакого отношения к nscd, это две разные службы, хотя они
и работают рядом.
> В логах видно, что nscd пытается залогинится к slapd по rootdn,
> т.е. под dn="CN=MANAGER,DC=DWARF,DC=NET.RU", а где он возьмёт для
> этого пароль? К слову сказать, у меня есть файлик /etc/ldap.secret с
> паролем от rootdn (он прописан в явном виде, т.е. в обычном текстовом
> виде):
Да, он возьмет его в этом файле, но только когда он имеет права для того
чтобы файл этот прочитать.
Единственное, что дает прописывание пароля rootdn в /etc/ldap.secret,
это то, что root сможет менять пароли пользователям командой passwd.
Обычно можно обойтись и без этого, все равно мы редактируем остальную
информацию о пользователях в ldap другими средствами.
>
> $ ls -l /etc/ldap.secret
> -rw------- 1 root root 14 Янв 18 16:54 /etc/ldap.secret
>
Удачи.
PS
2Dwarf: извини уж что пересылаю это в список рассылки, просто есть еще
много народа, которые спрашивают тоже самое, может так будет чуть проще.
--
Taras Ablamsky
Подробная информация о списке рассылки Volgograd