LINUX.ORG.RU
ФорумAdmin

авторизация в svn через ldap


0

1

Всем здравствуйте!

conf.d/subversion.conf

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

<Location /repos>
     DAV svn
     SVNPath /svn/rtn
     AuthzSVNAccessFile /svn/auth/passwd

     AuthType Basic
     AuthName "Svn project SECURE with LDAP auth"

     AuthLDAPEnabled on
     AuthLDAPURL "ldap://ip-ldap:389/OU=Group,DC=name,DC=com??(objectClass=person)"
     AuthLDAPBindDN "cn=userk@name.com"
     AuthLDAPBindPassword "Qwerty123"

     <LimitExcept GET PROPFIND OPTIONS REPORT>
        Require valid-user
     </LimitExcept>
</Location>

При старте httpd сообщение

[root@svn /]# service httpd start
Starting httpd: Syntax error on line 48 of /etc/httpd/conf.d/subversion.conf:
Invalid command 'AuthLDAPEnabled', perhaps misspelled or defined by a module not included in the server configuration                                                         [FAILED]

Подскажите, пожалуйста, что не так?

Русским языком же написано:

«Не извольте серчать на холопа Вашего, милостивый государь, не знаю я команды 'AuthLDAPEnabled' заморской, может чаго вы неправильно написали, аль модуль подключить забыли?»

mod_auth_ldap включен?

strangeman ★★★★
()
Ответ на: комментарий от strangeman

Он включен в файле conf/httpd.conf

...
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
...
Mister87
() автор топика

Мой работающий конфиг:

<Location /svn/>
    DAV svn
    SVNParentPath "/home/svn-repos/"
    SVNListParentPath on

    SSLRequireSSL

    AuthName "CAXA SVN repositories"
    AuthType Basic
    AuthBasicProvider ldap
    AuthzLDAPAuthoritative on
    AuthLDAPURL "..."
    AuthLDAPBindDN "..."
    AuthLDAPBindPassword  ...
    AuthLDAPGroupAttributeIsDN on
    AuthLDAPGroupAttribute member

    AuthzSVNAccessFile "/home/svn-repos/svnaccess.conf"
    Require valid-user

</Location>

ksv
()

apache 2.2?

<Location /rps>
<------>DAV svn
<------>SVNPath /data/svn
<------>Authtype Basic
<------>AuthBasicProvider ldap
<------>AuthName «Subversion REP»
<------>AuthLDAPURL ldap://localhost:389/bla-bla
<------>AuthLDAPBindDN uid=
<------>AuthLDAPBindPassword xxxxxx
<------>AuthLDAPGroupAttribute memberUid
<------>AuthLDAPGroupAttributeIsDN off
<------>Satisfy all
<------>require valid-user
<------>AuthzSVNAccessFile /data/svn/conf/svnpolicy
</Location>

zgen ★★★★★
()
Ответ на: комментарий от zgen

Сделал по последнему примеру, при запуске ругается на ldapurl:

# service httpd start
Starting httpd: Syntax error on line 90 of /etc/httpd/conf.d/subversion.conf:
Invalid LDAP connection mode setting: must be one of NONE, SSL, or TLS/STARTTLS

Mister87
() автор топика
Ответ на: комментарий от Mister87

Если бы ты прочел внимательно то, что там написано - у тебя бы не возникло вопроса «почему»

zgen ★★★★★
()
Ответ на: комментарий от ksv

Да, конечно с ковычками!

Сейчас успешно апач запустился, пытаюсь прицепиться к репозиторию, запрашивает логин/пароль. Ввожу не дает зайти. Ведутся ли какие-либо логи? В файле

...
AuthzSVNAccessFile /svn/auth/passwd
...
пользователя прописал. Возможно не правильно?
[groups]
admins = admin@site.com

[/]
@admins = rw

Mister87
() автор топика
Ответ на: комментарий от ksv

Подскажите, если не цепляется к ldap, то апач запустился бы? Может что в конфигах не правильно!? Можно ли настроить логирование, что-то наподобии как в VirtualHost?

Mister87
() автор топика
Ответ на: комментарий от Mister87

При запуске соединение с LDAP не проверяется.

Если правильно указана Connection String то все должно быть правильно.

Что пишет апач в access.log?

ksv
()
Ответ на: комментарий от ksv

Что пишет апач в access.log?

ip-address - - [16/Jan/2013:15:43:05 +0400] "GET /svn/repo HTTP/1.1" 401 477 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3)"
ip-address - user [16/Jan/2013:15:43:17 +0400] "GET /svn/repo HTTP/1.1" 401 477 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3)"
ip-address - user [16/Jan/2013:15:43:22 +0400] "GET /svn/repo HTTP/1.1" 401 477 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3)"
ip-address - "" [16/Jan/2013:15:43:23 +0400] "GET /svn/repo HTTP/1.1" 401 477 "-" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3)"
Mister87
() автор топика
Ответ на: комментарий от ksv

Вот что в error_log

[Wed Jan 16 15:43:22 2013] [warn] [client ip-address] [5560] auth_ldap authenticate: user user authentication failed; URI /svn/repo [LDAP: ldap_simple_bind_s() failed][Invalid credentials]
[Wed Jan 16 15:43:22 2013] [error] [client ip-address] user user: authentication failure for "/svn/repo": Password Mismatch
[Wed Jan 16 15:43:23 2013] [warn] [client ip-address] [5561] auth_ldap authenticate: user  authentication failed; URI /svn/repo [LDAP: ldap_simple_bind_s() failed][Invalid credentials]
[Wed Jan 16 15:43:23 2013] [error] [client ip-address] user : authentication failure for "/svn/repo": Password Mismatch

Mister87
() автор топика
Ответ на: комментарий от Mister87

Password mismatch намекает что имеются проблемы с аутентификацией.

Пользователь user? Если да - то именно это имя пользователя будет сопоставляться с разрешениями в /svn/auth/passwd.

Компьютер введен в домен?

ksv
()
Ответ на: комментарий от Mister87

Меня интересует именно доступность домена на компьютере (настраивается через самбу).

В моем случае сервер введен в домен, он имеет доступ к списку всех пользователей домена, пользователи сервера состоят из локальных пользователей и пользователей домена. Возможно, это имеет значение, возможно, нет - я не знаю (я программист, не администратор).

ksv
()
Ответ на: комментарий от ksv

Домен видит

Подскажи, пожалуйста

AuthLDAPBindDN uid=

Здесь пользователя указывать с доменом (user@name.com)? И все в ковычках? или только

AuthLDAPBindDN uid=«user@name.com»

Mister87
() автор топика
Ответ на: комментарий от Mister87

Первым делом проверь видит ли комп пользователей и может ли авторизовать пользователя (wbinfo -u и wbinfo -a).

У меня AuthLDAPBindDN «CN=admin,CN=users,DC=domain,DC=local»

ksv
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.