Вы писали Wed, 24 Sep в 16:45:10
> > 1) при переносе пользователей в LDAP в атрибуте userPassword хранится
> > unix-пароль, а не LDAP-пароль - иначе авторизовать пользователя логин не
> > может. В чем тогда глубинный смысл разрешения "by anonymous auth", если
> > авторизоваться against этих паролей все равно не получится?
> 
> Значение в userPassword имеет вид {метод}hash. Оно может использоваться и 
> для байдинга запроса к LDAP (чего разрешается в  "by anonymous auth"), и 
> сторонними средствами (что делает например pam_ldap). 

Понял. Хотя все равно - забиндиться к LDAP под именем юзера не
получается. Т.е. генерим ldif для пользователя, login проходит
нормально, а вот 
$ ldapsearch -x -W -b "uid=user,..." "(uid=user)" userPassword
не может забиндиться. 
Хотя под "cn=admin, ..." можно (пароль для этого dn был создан автоматом
при установке slapd)


> > 2) соответственно, кто-то должен иметь возможность читать пароли, что не
> > весело. Я в общем завел пользователя, которому больше ничего и нельзя, и
> > через него читаю пароли и авторизуюсь, но все рано как-то невесело.
> > Может, есть другие варианты?
> 
> Хэшируй пароли в MD% и показывай хэши кому угодно. Пусть попробуют 
> декодировать :)

Скажем так... libnss-ldap при установке говорит, что для возможности
сверки паролей надо в /etc/libnss-ldap.conf положить в открытом виде
пароль и юзернейм, от имено которого libnss-ldap будет биндиться к ldap
для того, чтоб проверить пароь пользователя, который пытается
логиниться. Соответственно, этот самый passworder должен иметь доступ к
userPassword на чтение, а сам пароль passworder'a должен лежать в
открытом виде в этом файле. 

> > 3) apt-get install libnss-ldap и исправление nsswitch.conf на предмет
> > passwd: files ldap дает возможность авторизации юзерам и из LDAP, и из
> > /etc/passwd - но с одной странностью.
> > LDAP-юзер имеет промпт в баше "I have no [EMAIL PROTECTED]:~$" - что 
> > странно.
> > Куда он теряет имя?
> 
> Похоже, что nscd не стоит, а прямого доступ к LDAP для пользователя 
> обламывается (либо нет доступа на чтение в /etc/libnss-ldap.conf, либо 
> облам авторизации на LDAP, либо ещё что-то)..

nscd не стоит, доступа на чтение к /etc/libnss-ldap.conf нет по
причинам, указанным выше. 
А при чем тут авторизация на LDAP? забиндиться как user все равно нельзя
- т.к. в userPassword у dn: uid=user, dc=mumidol записан UNIX-пароль?

> Кстати, я столкнулся с тем, что для некоторых использований (вроде finger) 
> nscd не помогает - пользователь всё равно должен иметь права 
> самостоятельно получить информацию из LDAP.

Опять же - как он тогда забиндится?

> > pam-ldap не использую и все еще не понял, зачем он нужен - кроме как
> > алтернативный вариант, без исправления nsswitch, но с исправлением
> > pam.d/login на предмет достаточности pam_ldap-аутентификации.
> 
> Насколько я понимаю, nsswitch не занимается аутентификацией вовсе. Т.е. не 
> даёт доступа до пароля.

Ну тем не менее именно так я добился нормального входа в систему
пользователей, которые есть только в LDAP и нет в passwd

Ответить