Правила доступа к хранилищу Subversion

У меня есть несколько репозиториев и пользователей, настроенных через CollabNet Subversion Edge. Я пытаюсь немного узнать об ограничении доступа к нескольким нашим репозиториям только для нескольких пользователей, и у меня возникают некоторые проблемы. Например, у меня установлены следующие правила:

[groups]
engineers = alexa, miked
dtil = user1, user2, user3

[/]
* = rw

[PermissionsTest:/]
~@engineers =

Что я хочу сделать, так это оставить другие репозитории в покое (пусть кто-нибудь прочтет или напишет в него, поэтому я оставил [/] * = rw), но в этом случае я могу ограничить PermissionsTest только одной группой пользователей. Однако я все еще могу проверить и обновить код в PermissionsTest как другой пользователь, который не входит в группу инженеров.

Можно ли даже ограничить доступ к хранилищу одним правилом? Или я должен явно предоставить доступ пользователям и группам к каждому репозиторию, чтобы эта работа работала?

2 ответа

Контроль доступа к Subversion наследуется от более высоких уровней, если на уровне, который вы хотите, нет явного соответствия. В вашем случае группа dtil неявно предоставляется rw в тестовом хранилище, так как он уже имеет rw на родителя.

Если у вас есть модель, в которой большинство ваших хранилищ rw с несколькими ограниченными, то вы должны позаботиться о том, чтобы явно deny те пользователи и группы, которые могут иметь разрешения выше:

[PermissionsTest:/]
~@engineers =
* = 

В вашем случае достаточно чисто, но, как вы можете себе представить, будет очень грязно, если вы будете следить за множеством групп и репозиториев; необходимость явного отказа в доступе никогда не является хорошим подходом. Я бы порекомендовал удалить этот уровень Лоп * = rw default и добавление его обратно в качестве политики по умолчанию только в те репозитории, которые вы хотите открыть (принцип наименьших привилегий). Это может сделать ваш конфиг немного больше, но это более безопасный маршрут.

Сначала удалите это

[/]

* = rw

и дать пользователю разрешения для проектов в явном виде.

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