Я пытаюсь ограничить доступ к хранилищу на моем локальном сервере Subversion. Я настроил его с помощью Apache и dav_svn_module
и authz_svn_module
. В настоящее время он работает отлично, пользователи могут входить в систему и могут совершать транзакции нормально.
Чего я хотел бы добиться, так это одного репозитория, который может быть прочитан и записан только одним пользователем.
Мой /etc/httpd/conf.d/subversion.conf
выглядит следующим образом
<Location /svn>
DAV svn
SVNParentPath /var/www/svn
# Limit write permission to list of valid users.
<LimitExcept GET PROPFIND OPTIONS REPORT>
# Require SSL connection for password protection.
# SSLRequireSSL
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile /etc/svn-auth-users
Require valid-user
AuthzSVNAccessFile /etc/svnauthz.conf
</LimitExcept>
</Location>
Мой /etc/svnauthz.conf
выглядит следующим образом,
[groups]
devs = david.yell,user2,user3
[/]
$authenticated = rw
@devs = rw
* =
Однако в настоящее время это ограничивает доступ ко всем хранилищам на сервере, что далеко не идеально. Как мне настроить доступ так, чтобы он относился к одному репозиторию?
Дополнительно, это внутренний сервер, так что, хотя я ценю советы для производства, это не обязательно.
Обновление
Я обновил svnauthz.conf
файл сейчас,
[groups]
devs = david.yell,user2,user3
[ProtectedRepo:/]
david.yell = rw
* =
[/]
$authenticated = rw
@devs = rw
* =
Я пытаюсь использовать это как ссылку, http://svnbook.red -bean.com / ru / 1.4 / svn.serverconfig.pathbasedauthz.html , но здесь приводятся цитаты
Чтобы быть более конкретным: значение имен разделов является одним из
Форма [имя-репозитория: путь] или форма [путь]. Если вы используете
Директива SVNParentPath, тогда важно указать хранилище
имена в ваших разделах. Если вы опустите их, то такой раздел, как
[/ some / dir] будет соответствовать пути / some / dir в каждом хранилище.
Значит ли это, что мне нужно объявлять каждый репо на сервере? Что составляет около 30 в настоящее время