Назад | Перейти на главную страницу

SVN и WebSVN с разными ограничениями доступа пользователей в нескольких репозиториях в Linux

и прежде всего извините за мой английский. Я установил сервер ubuntu 10.04.1 с apache2, subversion, svn_dav и websvn. (и, конечно же, другие службы, такие как php5, mysql 5.1 и т. д.). Я настроил свой svn с несколькими репозиториями, и каждый из них с разными группами и пользователями, например:

/var/myrepos/repo1 group: mygroup1
/var/myrepos/repo2 group: mygroup2
/var/myrepos/repo3 user: johndoe

С легким доступом к svn_dav работает отлично, то есть: http: // myserver / svnrepo1 доступно только для пользователей mygroup1 с их пользователями linux и паролями svn. Также работает для других репозиториев с их пользователями и группами. Но когда я попробовал использовать websvn, он показывает все репозитории без забот, чем если бы пользователь в mygroup1 мог просматривать репо2 (этого я не хочу делать). Вы можете войти в систему как любой пользователь в mygroup1, mygroup2 или johndoe, и вы войдете во все репозитории.

Я постараюсь найти решение и опубликую новость, если кто-нибудь может мне с этим помочь, я очень ценю !!! Спасибо за все

Показываю свои файлы: /etc/apache2/mods-available/dav_svn.conf

<Location /svnrepo1>
    DAV svn
    SVNPath /var/myrepos/repo1
    AuthType Basic
    AuthName "Repositorio Subversion de MD"
    AuthUserFile /etc/apache2/dav_svn.passwd
    Require valid-user
</Location>

<Location /websvn/>
    Options FollowSymLinks
    order allow,deny
    allow from all
    AuthType Basic
    AuthName "Subversion Repository"
    AuthUserFile /etc/apache2/dav_svn.passwd
    Require valid-user
</Location>

У вас есть файл аутентификации для хранения пользователей, но нет файла доступа. Попробуйте добавить

AuthzSVNAccessFile /var/myrepos/conf/svnaccess.conf

где svn access имеет указанные группы и права пользователя.

У меня тоже была эта проблема с websvn. Вот как я это решил:

Сначала вам нужно иметь файл svnaccess.conf с правами пользователя в нем, и он установлен, как предлагает @gbjbaanb. Затем вам нужно, чтобы websvn ссылался на этот файл в своей конфигурации.

websvn / включить / config.php

$config->useAuthenticationFile('/var/myrepos/conf/svnauth.conf'); // Global access file

AuthzSVNAccessFile должен работать. Вы также можете использовать HTTP-метод limit / apache.

https://stackoverflow.com/questions/484499/how-do-i-restrict-apache-svn-access-to-specific-users-ldap-file-based-authentic