SVN - Права доступа к каталогу пользователя
-
03-10-2019 - |
Вопрос
Я использую SVN (CollabNet Subversion Edge) и Tortoise SVN для управления веб-сайтом, редактируемым несколькими людьми.
Я бы хотел ограничить доступ некоторых пользователей к некоторым каталогам (чтобы они не видели учетные данные базы данных и т.д.).Для них требуется только доступ на чтение к одному каталогу.
Возможно ли это сделать в SVN?
Спасибо!
Редактировать
Они работают под управлением сочетания XP и Windows 7.Сервер работает под управлением Windows 2008.Используемый протокол - http.
Решение
Это может быть достигнуто с помощью файла svnaccess.conf. Предполагая, что вы используете аутентификацию домена Windows, вот один из способов обеспечения доступа к уровню папки к пользователям Windows. (Раздел выборки файла svnaccess.conf)
REPO: / TRALK / WABLEFALDER
*=
@repo_restricted_users = R.
@repo_super_users = RW.
Здесь Repo_Restricted_users и repo_super_Users - это группы пользователей, которые должны быть определены ранее в файле svnaccess.conf - таким образом:
repo_restricted_users = john.doe, tom.riddle
repo_super_users = harry.potter, lord.voldemort
Это обеспечит доступ к чтению доступа к простойбору папке в репозитории при сохранении других замкнутых папок. Надеюсь это поможет.
Другие советы
Книга SVN, на которую ссылается Майк, дает вам хороший обзор доступных методов аутентификации.
Если вы используете Windows и не возражаете против переключения SVN-сервера, Сервер VisualSVN это бесплатная оболочка svn / Apache, которая может быть установлена в течение нескольких минут и обеспечивает невероятно простое управление пользователями и доступом "укажи и щелкни".Я пользуюсь им уже много лет, и мне это нравится.
Вы можете делать то, что вы хотите в платформе независимым способом, написав то, что называется предварительным зажимным крюком. Вы можете прочитать больше о крючках в Книга SVN. Отказ По сути, вам будет дано имя пользователя и местоположение каталога обновлений и иметь возможность решать, принимать ли или нет транзакции.
Хороший пример этого находится на этот сайт. Отказ По сути, вы захотите использовать скрипт commit-access-control.pl., который упакован с Subversion, для выполнения проверки разрешений для вас. Все, что вам нужно сделать, это написать простой файл конфигурации, который описывает, где люди могут писать и прочитать.
Если вы будете использовать http с apache, вы можете использовать модуль Authz_svn Apache здесь в книге.
Если им нужен один каталог, я думаю, что можно было бы создать второй / другой репозиторий для этого и включая его с svn:externals
в проекте «Главный» (который все еще будет делать svn update
Также извлеките обновления от другого репозитория и т. Д.).