Порой требуется разграничить права доступа участникам вашего сервера контроля версий, например для того, чтобы некоторые не имели доступ к конкретному репозиторию.
Для этого вам понадобится создать в системе файл svn-authz-access (называйте его как хотите) и прописать путь до файла в секцию настройки SVN в Apache.
Настройки
Открываем для редактирования файл /usr/local/etc/apache22/httpd.conf и добавляем в секцию <location /svn> запись о файле:
Информацию о секции можете посмотреть в предыдущем моем посте FreeBSD. Установка и настройка Subversion
Создадим и отредактируем файл svn-authz-access
vi /home/svn/svn-authz-access
Группы
Группы перечисляются в столбик и напротив каждой группы указываются имена пользователей
devel = adw0rd, vasac
tester = epsyl
Секция корня, где все репозитории
Указываются группы в столбик и права
@devel = r
* =
Секции для репозиториев
@devel = rw
* =
[example-com:/]
@devel = rw
@tester = rw
* =
@GROUP = — для группы GROUP назначаются права.
* = — означает всем (other).
rw — чтение и запись.
r — чтение
w — запись
В итоге у нас должно получится два файла
Файл httpd.conf
DAV svn
# разрешает выдавать перечень всех доступных хранилищ в папке SVNParentPath
SVNListParentPath on
SVNParentPath /home/svn/repos
SVNPathAuthz off
# включения базовой аутентификации, т.е. имя_пользователя/пароль
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /home/svn/svn-auth-file
# предписывает, что только пользователям, предоставившим правильные имя_пользователя/пароль,
# будет разрешён доступ к URL
Require valid-user
# Права и группы
AuthzSVNAccessFile /home/svn/svn-authz-access
</location>
Файл svn-authz-access
devel = adw0rd, vasac
tester = epsyl
[/]
@devel = r
* =
[pyha-ru:/]
@devel = rw
* =
[example-com:/]
@devel = rw
@tester = rw
* =
Перезагружаем Apache
Ну вот и все, теперь мы разграничили права :)



[...] Настройка групп и прав в Subversion Оставить комментарий | Comment RSS | Теги: FreeBSD, Subversion, Svn [...]
Существует ли возможность назначить права на подпапку репозитрия ?
Попробуйте так: