Доброго времени!
Возникла необходимость производить аутентификацию через LDAP, установленный на FreeBSD сервере. Клиент - Linux Debian.
LDAP сервер сконфигурирован и настроен. Через него (через самбу) авторизируются WinXPSP2 клиенты.Чтобы не приводить опять конфиги и не рассматривать варианты, которые я уже перепробовал, дам ссылки на мои темы с этой проблемой в других форумах:
http://forum.lissyara.su/viewtopic.php?f=8&t=4461
http://linuxforum.ru/index.php?showtopic=46326Там есть все конфиги и попытки решения проблемы.
Добавлю, что курил Яндекс довольно долго, плюс находил на этом форуме кучу таких же тем и мануалов на эту тему. Ничего не выходит, и еще все они написаны для конфигурации в пределах одной машины, а мне надо именно авторизацию клиентов.
Помогите пожалуйста!!!
курите google.com
вопрос не понятен
>курите google.com
>вопрос не понятенЯ уже весь Яндекс скурил на эту тему.
Решение проблемы не нашел.
Иначе бы тут не спрашивал.А чем не понятен вопрос?
>А чем не понятен вопрос?а как насчёт того чтобы его самому перечитать и подумать что там написано
включить debug перво наперво
с pam'ом чтобы непарится во время дебага отключить остальные модули, оставить только ldap
nss_ldap я так понял работает?
>>А чем не понятен вопрос?
>
>а как насчёт того чтобы его самому перечитать и подумать что там
>написано
>
>включить debug перво наперво
>
>с pam'ом чтобы непарится во время дебага отключить остальные модули, оставить только
>ldap
>nss_ldap я так понял работает?nss_ldap работает.
Не правильно работает толи pam_ldap толи ldap сервер.Подскажите подробнее про debug, а то я не нашел даже куда ldap логи складывает :(
>Вобщем если надо сделать авторизацию в Debian то все просто в Etch это вообще все по >apt-ge instal решается. с Sarge немного сложнее. Надо ручками создавать файл ldap.secret
У меня именно Debian Etch. Но все равно ни так уж и просто. А фот файла ldap.secret мне не надо, т.к. знание его содержимого дает контроль над всеми пользователями.
Мне вообще теперь кажется что виноват именно ldap сервер, т.к. при попытке логиниться к нему с клиентской машины он выплевывает:
pam_ldap:error trying to bind as user "uid=user,ou=users,dc=PCDServer,dc=ru" (Invalid credentials)
Но пароль я ввожу правильно! :)
>nss_ldap работает.это хорошо
>Подскажите подробнее про debug, а то я не нашел даже куда ldap
>логи складывает :(debug в pam_ldap.conf
смотреть в /var/log/{auth.log,syslog,auth.priv}
>pam_ldap:error trying to bind as user "uid=user,ou=users,dc=PCDServer,dc=ru" (Invalid credentials)
>Но пароль я ввожу правильно! :)это может быть связанно с методом хранения паролей (md5,ssha т т.д.)
debug должен на это ответить
>>курите google.com
>>вопрос не понятен
>
>Я уже весь Яндекс скурил на эту тему.
>Решение проблемы не нашел.
>Иначе бы тут не спрашивал.
>
>А чем не понятен вопрос?Вобщем если надо сделать авторизацию в Debian то все просто в Etch это вообще все по apt-ge instal решается. с Sarge немного сложнее. Надо ручками создавать файл ldap.secret
В pam.d у мну так:
account sufficient pam_unux.so
account required pam_ldap.soauth sufficient pam_unix.so nullok_secure
auth required pam_ldap.so use_first_passsession sufficient pam_unix.su
session required pam_ldap.so
>Вобщем если надо сделать авторизацию в Debian то все просто в Etch
>это вообще все по apt-ge instal решается. с Sarge немного сложнее.
>Надо ручками создавать файл ldap.secretОтвет выше :)
>[оверквотинг удален]
>http://linuxforum.ru/index.php?showtopic=46326
>
>Там есть все конфиги и попытки решения проблемы.
>
>Добавлю, что курил Яндекс довольно долго, плюс находил на этом форуме кучу
>таких же тем и мануалов на эту тему. Ничего не выходит,
>и еще все они написаны для конфигурации в пределах одной машины,
>а мне надо именно авторизацию клиентов.
>
>Помогите пожалуйста!!!давайте соберём информацию воедино.
на хосте, где крутится slapd вы можете зайти под ldap пользователем в систему?ошибка в конце второй ссылки явно говорит о неверно составленном запросе (или нет прав у того, кто биндится в slapd на просмотр такой информации) покажите лог slapd -d 256 в момент авторизации или:
вы делаете через kdm, а что в /etc/pam.d/kde или если вы используете общесистемные, то возможно перекрытие значений, лучше для сервиса сделать отдельный. в pam_ldap/doc есть пример для kde и работа со связкой auth - password сильно отличается от того, что у вас в общесистемных
>ошибка в конце второй ссылки явно говорит о неверно составленном запросе (или
>нет прав у того, кто биндится в slapd на просмотр такой
>информации) покажите лог slapd -d 256 в момент авторизации или:
>вы делаете через kdm, а что в /etc/pam.d/kde или если вы используете
>общесистемные, то возможно перекрытие значений, лучше для сервиса сделать отдельный. в
>pam_ldap/doc есть пример для kde и работа со связкой auth -
>password сильно отличается от того, что у вас в общесистемныхДело в том что у всех юзеров (на хосте где slap), кроме одного, оболочкой к логину стоит nologin, но тем юзером у которого оболочка /bin/sh я заходить в систему могу, и локально и по ssh. Но на сервере не настроена аутентификация через ldap, хотя все пользователи хранятся в базе ldap и passwd.
ЛОГ:
conn=4 fd=16 ACCEPT from IP=192.168.2.48:63467 (IP=0.0.0.0:389)
conn=4 op=0 BIND dn="" method=128
conn=4 op=0 RESULT tag=97 err=0 text=
conn=4 op=1 SRCH base="ou=users,dc=PCDServer,dc=ru" scope=1 deref=0 filter="(&(objectClass=posixAccount)(uid=test))"
conn=4 op=1 SEARCH RESULT tag=101 err=0 nentries=1 text=
conn=4 op=2 BIND dn="uid=test,ou=users,dc=PCDServer,dc=ru" method=128
conn=4 op=2 RESULT tag=97 err=49 text=
conn=4 op=3 BIND dn="" method=128
conn=4 op=3 RESULT tag=97 err=0 text=
conn=4 op=4 UNBIND
conn=4 fd=16 closed
>conn=4 op=2 BIND dn="uid=test,ou=users,dc=PCDServer,dc=ru" method=128
>conn=4 op=2 RESULT tag=97 err=49 text=err=49 это Invalid credentials
ну вот видно, что 49 получаем простым запросом и pam_ldap тут не причём. ковыряем права в slapd и пробуем делать нужные действия от имени вышеуказанного юзера.
начните так:
ldapsearch -H ldap://ldap_server:389 -x -W -b "ou=users,dc=PCDServer,dc=ru" -D "uid=test,ou=users,dc=PCDServer,dc=ru" "objectclass=PosixAccount" uid userPassword
>[оверквотинг удален]
>>conn=4 op=2 RESULT tag=97 err=49 text=
>
>err=49 это Invalid credentials
>
>ну вот видно, что 49 получаем простым запросом и pam_ldap тут не
>причём. ковыряем права в slapd и пробуем делать нужные действия от
>имени вышеуказанного юзера.
>начните так:
>ldapsearch -H ldap://ldap_server:389 -x -W -b "ou=users,dc=PCDServer,dc=ru" -D "uid=test,ou=users,dc=PCDServer,dc=ru" "objectclass=PosixAccount" uid userPassword
>Система приглашает ввести LDAP password, я провожу его ввод.
Причем пробовал и пароль от юзера test и root пароль, результат один:ldap_bind: Can't contact LDAP server (-1)
Просто команда:
ldapsearch -LLL -x -b "dc=PCDServer,dc=ru" "" без ввода пароля - выводит информацию из LDAP базы.
>Система приглашает ввести LDAP password, я провожу его ввод.
>Причем пробовал и пароль от юзера test и root пароль, результат один:
>
>
>ldap_bind: Can't contact LDAP server (-1)
>
>Просто команда:
>ldapsearch -LLL -x -b "dc=PCDServer,dc=ru" "" без ввода пароля - выводит информацию
>из LDAP базы.ну вот и нашли где зарыта ваша проблема. читайте и ковыряйте ваш ldap сервер, пока ldap admin и test не будут получать необходимую им информацию
>[оверквотинг удален]
>>
>>ldap_bind: Can't contact LDAP server (-1)
>>
>>Просто команда:
>>ldapsearch -LLL -x -b "dc=PCDServer,dc=ru" "" без ввода пароля - выводит информацию
>>из LDAP базы.
>
>ну вот и нашли где зарыта ваша проблема. читайте и ковыряйте ваш
>ldap сервер, пока ldap admin и test не будут получать необходимую
>им информациюПодскажите в какую сторону ковырять ?
>[оверквотинг удален]
>>>
>>>Просто команда:
>>>ldapsearch -LLL -x -b "dc=PCDServer,dc=ru" "" без ввода пароля - выводит информацию
>>>из LDAP базы.
>>
>>ну вот и нашли где зарыта ваша проблема. читайте и ковыряйте ваш
>>ldap сервер, пока ldap admin и test не будут получать необходимую
>>им информацию
>
>Подскажите в какую сторону ковырять ?в сторону ACL
>в сторону ACLПростите мое возможно невежество (в nix системах я не долго).
Но при чем тут ACL? На файловой системе у меня оно не используется.Объясните пожалуйста поподробнее. Чем мне и как может помочь ACL в данном случае.
>>в сторону ACL
>
>Простите мое возможно невежество (в nix системах я не долго).
>Но при чем тут ACL? На файловой системе у меня оно не
>используется.
>
>Объясните пожалуйста поподробнее. Чем мне и как может помочь ACL в данном
>случае.ACL это аббревиатура и звучит она так: access control list или список контроля доступа.
у практически любого сервиса связанного с безопасностью есть этот самый ACL (название может быть другим, суть не меняется)
поскольку речь шла о slapd, то и ответ был о ACL у slapd
вам сюда:
http://www.openldap.org/doc/admin23/slapdconfig.html#Access&...
>вам сюда:
>http://www.openldap.org/doc/admin23/slapdconfig.html#Access&...Составлена опа у меня вроде правильно:
access to attrs=userPassword
by self write
by anonymous auth
by * noneaccess to *
by self write
by anonymous read
by * none
Как проблема то решилась?
У меня похожая ситуация, в ACL разрешено все,
в логах
pam_ldap: error trying to bind as user "cn=test123,ou=users,dc=cluster,dc=ru" (Invalid cre
dentials)
ldapsearch -H ldaps://localhost/ -x -w "123" -D "cn=test123,ou=users,dc=cluster,dc=ru"
работает как положеноgetent passwd пользователя из ldap показывает, а залогиниться не может.
id test123 говорит нет такого пользователя.
>Как проблема то решилась?
>У меня похожая ситуация, в ACL разрешено все,
>в логах
>pam_ldap: error trying to bind as user "cn=test123,ou=users,dc=cluster,dc=ru" (Invalid cre
>dentials)
>ldapsearch -H ldaps://localhost/ -x -w "123" -D "cn=test123,ou=users,dc=cluster,dc=ru"
>работает как положено
>
>getent passwd пользователя из ldap показывает, а залогиниться не может.
>id test123 говорит нет такого пользователя.у меня аналогично :(