Действительно странная проблема здесь. Я настраиваю сервер SVN и в основном пытаюсь обеспечить соблюдение следующих правил:
- По умолчанию все пользователи имеют доступ только для чтения
- svnadmin может записывать в корень (для создания новых проектов) и в папку проекта (для создания директорий trunk / branch / tags)
- разработчики могут создавать каталоги в // ветвях и могут фиксировать изменения в // trunk
- Только администратор / менеджер проекта может создавать теги релиза
Вот мои настройки:
svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
PASSWD
[users]
svnadmin = svnadmin
user1 = user1
AuthZ
[groups]
svnadmin = svnadmin
developers = user1
[/]
* = r
@svnadmin = rw
[/test-project/branches]
@developers = rw
[/test-project/trunk]
@developers = rw
Я вошел в систему как svnadmin и создал / test-project, / test-project / trunk, / test-project / ветки и / test-project / trunk - хорошо.
Вы вошли как user1 и получили отказ в доступе при попытке создать что-либо в корне или в / test-project - хорошо.
Еще как user1, я создал папку в багажнике и добавил файл - хорошо.
Теперь я вошел в систему как svnadmin и удалил файл ... , но я не могу удалить папку! Более конкретно, он говорит Доступ запрещен
У svnadmin есть rw во всем хранилище, так почему я не могу удалить / test-project / trunk / ??? (конечно, user1 может удалить эту папку).
Хуже того, я заметил, что svnadmin не может удалить теги / test-project, / test-project / branch, / test-project / trunk или / test-project /. Теперь у меня есть хранилище тестовых проектов в моем хранилище, и я не могу от него избавиться.
Что-то не так с моими настройками? Что я могу сделать?