Не могу настроить apache для авторизации через ldap (mod_authnz_ldap) [SOLVED]

Пытаюсь настроить чтобы для досптупа к Subversion использовался лдап, не получается.

Конфинг(символ "<" щас убрал, т.к. форум теги сжирает):

# cat /etc/apache2/test/ldap.conf
Directory /data/test/repos>
        order allow,deny
        Allow from all
/Directory>
IfDefine DAV>
IfDefine LDAP>
IfDefine AUTHNZ_LDAP>
IfModule authnz_ldap_module>
IfModule dav_module>
IfModule dav_fs_module>
DavLockDB "/var/lib/dav/lockdb"
        Location /repos>
             DAV svn
             SVNPath /data/test/repos
             AuthType Basic
             SSLRequireSSL
             AuthName "Subversion repository"
             Require valid-user
#            AuthUserFile /data/.htpasswd
             AuthzUserAuthoritative off
             AuthLDAPURL ldaps://ldap.xxx.yyy/ou=Users, ou=Main, dc=xxx, dc=yyy?uid?sub?(objectClass=*)
             AuthLDAPBindDN cn=svn, ou=SysUsers, ou=Main, dc=xxx, dc=yyy
             AuthLDAPBindPassword XXXXXXXXXXX
        /Location>
/IfModule>
/IfModule>
/IfModule>
/IfDefine>
/IfDefine>
/IfDefine>

/etc/apache2/test/ldap.conf естественно включён в httpd.conf
В логи пишет:

# tail /var/log/apache2/ssl_error_log
.............
[Wed Feb 20 14:52:31 2008] [error] [client 192.168.1.254] (9)Bad file descriptor: Could not open password file: (null)
[Wed Feb 20 14:52:31 2008] [error] [client 192.168.1.254] File does not exist: /var/www/localhost/htdocs/favicon.ico, referer: https://10.120.10.203/repos/html
[Wed Feb 20 14:52:34 2008] [error] [client 192.168.1.254] client denied by server configuration: /data/test/repos/
..............

Странно, что он ругается "Could not open password file", если по идее должен ломиться в лдап, в логах лдапа соотвтветственно тоже пусто.

Это апач ИМХО

Это апач ИМХО ведет себя не так как в доках писано. Настраивать удобней через .htaccess. Ибо конфиги перечитывать не надо. После успешной настройки можно перенести в соответсвующий конфиг апача. Похожие проблемы возникли при настройке доступа к разделу сайта через авторизацию в АД. Вот рабочий хтаксесс

AuthName "My secret part"
AuthType Basic
AuthBasicProvider ldap
AuthLDAPURL "ldap://mypdc.mydomen.ru:389/ou=Пользователи домена,dc=mydomen,dc=ru?sAMAccountName"
AuthzLDAPAuthoritative off
AuthLDAPBindDN cn=dummyuser,cn=users,dc=vlg-gaz,dc=ru
AuthLDAPBindPassword dummypassword
#Require valid-user
Require ldap-group CN=GoodUserGroup,CN=Users,DC=mydomen,DC=ru

Ключевой параметр AuthBasicProvider ldap . Без него ищет файл и ругаиццо. Да, в случае ежели на том конце АД в AuthLDAPURL обязательно надо указывать организейшен юнит, в котором искать. Ибо в противном случае модуль авторизации может не отработать.

По поводу русских наименований юнитов, групп и юзверей в АД. Кодировка конфиг файла в обязаловку utf. По крайней мере мне не удалось заставить работать файлик в кодировке koi-8

Спасибо, за

Спасибо, за "AuthBasicProvider ldap". Заработало. + Забыл в настройках сервера(conf.d) вписать "-D AUTHNZ_LDAP"

Братья по

Братья по разуму, не откажите в милости, ибо мозг скоро свариться :(
Цель проста и похожа на цель предыдущего оратора - подружить SubVersion и LDAP.
Методом проб и ошибок в httpd.conf появилась следующая секция:

(это список подключенных модулей)
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule ldap_module modules/mod_ldap.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule python_module modules/mod_python.so
LoadModule sspi_auth_module modules/mod_auth_sspi.so

(это настройки самой SubVersion)
Location /svn/>
DAV svn
SVNParentPath c:\svn
SVNListParentPath On
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain rb
AuthName "Subversion Repositories"
AuthzSVNAccessFile "c:\svn\authz"
Require valid-user
/Location>

Авторизация и аутентификация доменных пользователей работает очень хорошо, но я никак не могу "привязать" аутентификацию через группы в Windows Active Directory.
Замучался вконец, перепробовал много вариантов, но увы...
Готов предоставить дополнительную информацию.

С уважением,
Юрий.

Итак, покурил

Итак, покурил маны, поплясал с бубном и вот что получилось:
Location /svn/>
DAV svn
SVNParentPath c:\svn
SVNListParentPath On
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain rb
SSPIUsernameCase lower
SSPIPerRequestAuth on
SSPIOfferBasic On
AuthName "Subversion Repositories"
AuthzSVNAccessFile "c:\svn\authz"
Require group Domain\DomainGoup
/Location>

Все работает. Правда, я не смог отказаться от строки AuthzSVNAccessFile "c:\svn\authz", зато провекра прав доступа к хранилищу происходит в два этапа:
1. Аутентификация - для успешной аутентификации доменный пользователь должен был влючен в группу Domain\DomainGoup
2. Авторизация - после того, как Апач пропустил пользователя, в файле c:\svn\authz происходит его авторизация, т.е. система определяет куда и с какими правами данному пользователю разрешено ходить.
Над системой доступов в c:\svn\authz пока еще работаю.

Надеюсь, что смог кому-то помочь.

С уважением.

Apache2+авторизация в AD

Долго пытался на Linux прикрутить Apapche к АД.
Начал тестить конфиг.
Поставил апач2 на виндовую машинку закатал .htaccess и прописал в него тот же конфиг что и в Линуксе
AuthName "sekret"
AuthType Basic
AuthBasicProvider ldap
AuthLDAPURL ldap://[IP_host_AD]:389/dc=mydomen,dc=ru?sAMAccountName
AuthLDAPRemoteUserIsDN off
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN off
AuthzLDAPAuthoritative off
AuthLDAPBindDN cn=admin,cn=users,dc=mydomen,dc=ru
AuthLDAPBindPassword ************
Require group cn=users,ou=users group,dc=mydomen,dc=ru
так вот он отработал нормально. Машинка в домен не была включена. Он сам прицепился к АД
AD - Microsoft Windows 2003 Server.
Че-то видать я не настроил еще в Linux.
При авторизации в error.log Apache2
auth_ldap authenticate: user myuser authentication failed; URI /wwwsait/ [ldap_search_ext_s() for user failed][Operations error]
Есть соображения что нужно донастроить???

Посмотри логи

Посмотри логи ЛДАПА, куда он обращается и что ищет, може дополнительные атрибуты какие-нибудь надо указать.

Модуль авторизации

По поводу авторизации в АДе. У меня работает вот так:

AuthType Basic
AuthName "Projects Server"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPUrl "ldap://domain.components/cn=Users,dc=domain,dc=components?samAccountName?sub?(objectClass=*)"
AuthLDAPBindDN "theUser@domain.components"
AuthLDAPBindPassword thePassword
Require ldap-group CN=subversion,CN=Users,DC=domain,DC=components

Как водится, очень долго пробовал все возможные варианты AuthLDAPUrl. Господа, надо, по ходу, пользоваться каким-нибудь LDAP-браузером в таких делах! Если АД полностью за тебя ведет каталог=)

Не знаю, как тогда было, но это у нормально работает c mod_authnz_ldap (-D AUTHNZ_LDAP) в apache-2.2.16.

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

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