Конфигурация Subversion Authz на Apache
Я пытаюсь ограничить доступ к своим хранилищам Subversion для определенных пользователей. Однако я не могу заставить его работать так, как я хочу.
У меня есть три хранилища. Давайте назовем их repo1, repo2 и repo3. У меня также есть три пользователя. user1, user2 и user3.
Я хочу, чтобы все пользователи читали / записывали в repo1 и только user1 читали / записывали repo2 и repo3. Я не хочу, чтобы user2 и 3 могли читать repo2 и repo3. Теперь я подумал, что должна работать следующая конфигурация:
[groups]
group1 = user1, user2, user3
[/repo1]
@group1 = rw
[/repo2]
@group1 =
user1 = rw
[/repo3]
@group1 =
user1 = rw
[/]
* = r
Однако с этой конфигурацией user2 и user3 могут по-прежнему иметь доступ ко всем репозиториям, и ни одному из пользователей не разрешается фиксировать / изменять какие-либо файлы.
Может кто-нибудь сказать мне, что я делаю не так?
редактировать
Благодаря правильному ответу у меня все получилось. Может быть полезно для других пользователей.
[groups]
group1 = user1, user2, user3
[repo1:/]
@group1 = rw
[repo2:/]
user1 = rw
[repo3:/]
user1 = rw
1 ответ
Определение репо в разделах
Из SVN Book
Если вы используете директиву SVNParentPath, важно указать имена репозиториев в ваших разделах. Если вы пропустите их, такой раздел, как
[/some/dir]
будет соответствовать пути/some/dir
в каждом хранилище.
Формат раздела хорошо документирован:
значение имени раздела имеет любой вид
[repos-name:path]
или в форме[path]
Т.е. твой [/repoN]
определить путь / репо внутри каждого репо, а не репозитория. использование [repoN:/]
для соответствующего корня хранилища