Интеграция Subversion - OpenLDAP - MS Active Directory

мы планируем интегрировать нашу установку Subversion с OpenLDAP для аутентификации, поскольку в этом случае все пользователи, прежде чем вносить какие-либо изменения в код, должны пройти аутентификацию в Active Directory.

Кто-нибудь уже делал такую ​​интеграцию. Любая помощь будет оценена по достоинству.


person Luigi    schedule 28.08.2015    source источник


Ответы (1)


Проверьте это.

Сначала убедитесь, что у вас установлен Apache

Пример директивы, которую мы используем там, где я работаю:

LoadModule dav_svn_module     modules/mod_dav_svn.so

<Location /<your_desired_url>>
 DAV svn
 SVNPath <ph. path to repo>
 SVNReposName "anything can go here"
 AuthType Basic
 AuthName "anything can go here"
 AuthBasicProvider ldap
 AuthLDAPBindDN "CN=XXX,CN=XXX,DC=XXX,DC=XXX"
 AuthLDAPBindPassword "the_pwd_of_the_above"
 AuthLDAPURL "ldap://1.2.3.4:3268/DC=XXX,DC=XXX?sAMAccountName?sub?" NONE
 Require valid-user
 #Require ldap-group CN=XXX,CN=XXX,DC=XXX,DC=XXX
</Location>

Последняя строка, закомментированная (#), может использоваться, чтобы требовать, чтобы только пользователи из некоторой группы могли фиксировать или читать репозиторий.

person Pedro Otero    schedule 31.08.2015
comment
Спасибо @Pedro Otero. К сожалению, сообщение связано с аутентификацией через LDAP без привязки. Я последовал другому руководству: (yolinux.com/TUTORIALS/), но ошибка из-за ошибки Файл журнала всегда один и тот же: AH00170: caught SIGWINCH, shutting down gracefully. Любая помощь будет высоко ценится - person Luigi; 02.09.2015
comment
@ Луиджи, ты прав. Там, где я работаю, все пользователи проходят аутентификацию через LDAP, чтобы зафиксировать свои изменения. Наша директива Apache содержит ldap bind dn и пароль для него, который, как я понимаю, является пользователем, который будет аутентифицироваться в каталоге для поиска фактического пользователя, который пытается выполнить операцию. Должен ли я отредактировать свой ответ, чтобы показать вам директиву? - person Pedro Otero; 02.09.2015
comment
@Luigi пошел дальше и все равно сделал это - person Pedro Otero; 02.09.2015
comment
Привет @Pedro, теперь кажется, что он работает правильно, даже если я не смог его протестировать. Я могу войти в ветку svn только с пользователем, созданным в процессе установки svn. Директива, которую я изменил: LoadModule dav_svn_module modules/mod_dav_svn.so <Location http://localhost> DAV svn SVNPath http://localhost SVNReposName "RepoName" AuthType Basic AuthName "passwd please" AuthBasicProvider ldap AuthLDAPBindDN "cn=Manager,dc=example,dc=com" AuthLDAPBindPassword secret AuthLDAPURL "ldap://localhost:389/ou=People,dc=example,dc=com?uid </Location> - person Luigi; 03.09.2015
comment
Что вам нужно изменить: 1. ‹your_desired_url› - это просто часть URL-адреса после localhost. Вы можете просто поместить / репо, и ваше репо будет доступно из localhost / repo. 2. ‹тел. путь к репо ›- это физический путь к репо, например C: \ repo. Кроме того, вы можете изменить порт с 389 на 3268, если даже с вышеуказанным он не работает. - person Pedro Otero; 03.09.2015
comment
Большое спасибо за вашу поддержку, но, к сожалению, это еще не работает. Чтобы установить SVN, я следовал этому руководству (howtoforge.com/), а затем изменил httpd.con в соответствии с вашим предложением <Location http://localhost/svn/repo/secondproject> DAV svn SVNPath /tmp/secondproject SVNReposName "RepoName" AuthType Basic AuthName "passwd please" AuthBasicProvider ldap AuthLDAPBindDN "cn=Manager,dc=example,dc=com" AuthLDAPBindPassword secret AuthLDAPURL "ldap://localhost:389/ou=People,dc=example,dc=com?uid </Location> - person Luigi; 07.09.2015
comment
Привет @Pedro. Наконец-то это работает. Спасибо за поддержку. У меня возникла проблема с настройками Selinux, которые запрещали связь с портом 389. Я решил ее после этого сообщения (linuxquestions.org/questions/linux-server-73/). - person Luigi; 11.09.2015