#svn #tortoisesvn #repository
#svn #tortoisesvn #репозиторий
Вопрос:
Я хочу предоставить пользователю доступ только к определенному каталогу (включая его подкаталоги) в моем репозитории SVN, а не ко всему репозиторию, возможно ли это?
Ответ №1:
Если вы используете apache или svnserve, вы можете установить управление доступом на основе пути
С apache, который вы устанавливаете AuthzSVNAccessFile
для указания на файл, в котором перечислены правила доступа, которые вы хотите применить, ваша конфигурация apache в конечном итоге выглядит так:
<Location /repos>
DAV svn
SVNParentPath /mnt/storage/svn
AuthzSVNAccessFile /etc/apache2/svn-accessfile
Require valid-user
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /etc/apache2/users.conf
</Location>
Обычно они выглядят примерно так:
[calc:/branches/calc/bug-142]
harry = rw
sally = r
Комментарии:
1. О чем
externals
? Если целевой путь ведет через некоторые другие исходные папкиexternals
, понадобятся ли нам отдельные разрешения и для этих внешних папок?2. @Danijel — внешние — это отдельные репозитории со своими собственными средствами аутентификации и контроля доступа. Вам также нужно будет настроить что-то с ними, нет волшебного способа передать его.
3. В этой строке: «calc:/branches/calc/bug-142», /ветви начинаются с системного (/) пути? Спасибо.
4. @fck это не путь к файлу, это путь к репозиторию, где / является вершиной репозитория.
Ответ №2:
Да, если вы используете метод доступа http. Смотрите книгу svn: http://svnbook.red-bean.com/en/1.6/svn.serverconfig.httpd.html#svn.serverconfig.httpd.authz.perdir
Ответ №3:
Я использую USVN, но есть много других веб-интерфейсов, которые работают с apache для предоставления протоколов аутентификации SVN и разрешений репозиториев / каталогов.
Я знаю, что USVN предоставляет мелкозернистые разрешения на основе каталогов для чтения и ЗАПИСИ и использует MySQL в качестве поставщика учетных записей для аутентификации.