Конфигурация 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:/] для соответствующего корня хранилища

Другие вопросы по тегам