[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