SVN - Права доступа к каталогу пользователей - PullRequest
4 голосов
/ 16 сентября 2010

Я использую SVN (CollabNet Subversion Edge) и Tortoise SVN для управления сайтом, который редактируют несколько человек.

Я бы хотел ограничить доступ некоторых пользователей к некоторым каталогам (чтобы они не видели учетные данные базы данных и т. Д.).Они требуют доступа только для чтения к одному каталогу.

Возможно ли это сделать в SVN?

Спасибо!

Редактировать

Они работают под управлением XP и Windows 7. Сервер работает под управлением Windows 2008. Используется протокол http.

Ответы [ 4 ]

7 голосов
/ 20 сентября 2010

Этого можно достичь с помощью файла svnaccess.conf. Предполагая, что вы используете аутентификацию домена Windows, вот один из способов предоставить доступ на уровне папок пользователям Windows. (пример раздела файла svnaccess.conf)

[репо: / багажник / samplefolder]

* =

@ 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

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

3 голосов
/ 16 сентября 2010

Книга SVN, связанная Майком, дает вам хороший обзор доступных методов аутентификации.

Если вы работаете в Windows и не возражаете против переключения сервера SVN, VisualSVN Server - это бесплатная оболочка svn / Apache, которую можно установить в течение нескольких минут и обеспечивающая беспроблемную простую установку нажмите Управление доступом к пользователю. Я использую это годами, и мне это нравится.

1 голос
/ 16 сентября 2010

Если им нужен один каталог, я думаю, что проще всего было бы создать второй / другой репозиторий для этого и включить его с svn:externals в «основной» проект (который по-прежнему будет svn update также получать обновления из другое хранилище и т. д.).

1 голос
/ 16 сентября 2010

Вы можете делать то, что хотите, независимо от платформы, написав то, что называется хуком предварительной фиксации.Вы можете прочитать больше о крючках в svn book .По сути, вам будет предоставлено имя пользователя и каталог обновлений, и вы сможете решить, принимать или не принимать транзакцию.

Хороший пример этого можно найти на этом сайте..По сути, вы захотите использовать скрипт commit-access-control.pl , который поставляется вместе с Subversion, для проверки прав доступа.Все, что вам нужно сделать, это написать простой файл конфигурации, в котором описывается, где люди могут писать и читать.

Если вы используете http с apache, то вы можете использовать модуль aph authz_svn, описанный здесь, вкнига .

...