Как я могу показать диалог аутентификации в TortoiseSvn с использованием протокола * file *? - PullRequest
1 голос
/ 15 ноября 2011

У меня есть репозиторий, созданный с помощью TortoiseSVN.Этот репозиторий настроил безопасность следующим образом:

svnserve.conf

[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

authz

[/]
admin = rw
editor = rw
reader = r
* = 

passwd

[users]
admin = admin$1
editor = editor$1
reader = reader$1
user = user$1

Как отобразить диалог аутентификации с использованием протокола file ?

Ответы [ 2 ]

4 голосов
/ 15 ноября 2011

Не думаю, что ты можешь.Когда вы используете протокол file://, клиент (в вашем случае TortoiseSVN) обращается к файлам хранилища напрямую, поэтому единственными механизмами разрешений / контроля доступа являются файловые системы.И svnserve.conf вступает в игру при работе с svnserve.

. Пользователь Subversion предлагает использовать протокол file:// только для целей тестирования или отладки для одного разработчика.

Если вынужен контроль доступа, попробуйте использовать svnserve.

1 голос
/ 15 ноября 2011

Обратите внимание на имя файла svnserve .conf.

Этот файл предназначен для настройки доступа с помощью встроенного svnserve серверного процесса.

Вы никогда не должны использовать протокол file://, за исключением того, над чем работает один разработчик. Например, ваши личные вещи. Если у вас более одного разработчика, вы должны использовать протокол, созданный для многопользовательского доступа.

Проблема с протоколом file:// заключается в том, что каждый имеет полный доступ к хранилищу. Они могут удалить его или сделать дамп, просмотреть историю хранилища и перезагрузить его.

В протоколе file:// нет никакой защиты, которая мешала бы кому-либо использовать ваш репозиторий, поскольку вы должны сделать всю структуру каталогов репозитория доступной для чтения / записи для всех.

Использование svnserve очень просто и может защитить ваш репозиторий от несанкционированного доступа. Все, что вам нужно сделать, это убедиться, что единственный пользователь, который может читать или записывать в структуру каталогов хранилища, это пользователь, который запускает процесс svnserve.

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

Вы уже настроили файл svnserve.conf, все, что вам нужно сделать, это запустить сам процесс svnserve (и убедиться, что только процесс svnserve может читать или записывать в дерево каталогов хранилища.

Основная проблема в том, что svnserve использует порт 3690 для связи с клиентами, и довольно много сайтов блокируют этот порт. Если это так, вам нужно поговорить со своим ИТ-отделом о разрешении использования этого порта. Вы можете запустить svnserve на другом порту, но это немного усложнит задачу для ваших клиентов, поскольку они должны будут знать номер порта и имя сервера.

Итак, не используйте протокол file://. Как вы узнали, с ним не реализована безопасность. Основное использование - для изучения подрывной деятельности и для отдельных проектов. Однако в моей системе есть частный репозиторий Subversion, но я все еще использую протокол svnserve и svn://. Я нахожу его достаточно простым в использовании, и мне не нужно продолжать использовать путь к репозиторию enter каждый раз, когда мне нужно оформить заказ:

$ svn co file:///Users/David/Work/svn_repos/trunk/myfile

против

$ svn co svn://localhost/trunk/myfile
...