SVN - как ограничить доступ пользователей к определенным папкам?
У меня есть репозиторий SVN, в котором мне нужно дать конкретному пользователю доступ для чтения/записи к нескольким определенным папкам. Доступ к папке и ее детям в порядке, но доступ к родительской папке не подходит.
Кроме того, на самом деле это две отдельные папки, которые мне нужен этот пользователь для доступа - и эти 2 папки не являются частью одного и того же дерева node (но в конце концов они есть, если вы поднимаете достаточно уровней).
У меня есть доступ к файлам SVN /conf/authz
, /conf/passwd
и /conf/svnserve.conf/
.
Ответы
Ответ 1
Добавьте следующий текст в свой authz, указав пользователя по имени авторизация на основе пути (<reponame>
может быть именем любого репозитория).
[<reponame>:/branches/calc/bug-142/secret]
harry =
Чтобы предоставить Гарри доступ только к секретной папке, сделайте следующее.
[<reponame>:/branches/calc/bug-142/secret]
harry = r
Они специально запретят пользователю иметь какие-либо менее ограничительные унаследованные разрешения.
Ответ 2
Авторизация на основе пути должна вам помочь. Механизмы авторизации встроены в Subversion Apache.
Как уже ответил @jpierson, вы можете использовать файлы authz
для определения правил "Нет доступа", "Только для чтения" или "Чтение записи" на пути репозитория. Путь репозитория может представлять корень репозитория и любой путь в репозитории. То есть вы можете указать правила доступа не только поддеревьев (папок), но и файлов.
Прочтите SVNBook!