Репозиторий SVN – проблема с выпуском пользователей

Я создал репозиторий давным-давно, когда я был единственным пользователем. Теперь мне нужно добавить другого пользователя, поэтому я создал группу пользователей, в которой я добавил пользователей и сделал следующее:

chmod -R user1:usergroup svnrepo/* chown -R 0770 svnrepo/* 

Теперь у всех есть возможность обновлять и фиксировать, но проблема в том, что когда кто-то из нас совершает, он изменяет владельца svnrepo/db/current (для пользователя, который совершил), а другой человек теряет доступ к репо, пока Я снова вручную установил надлежащего владельца.

У вас есть идея, как это исправить? Это очень раздражает …

2 Solutions collect form web for “Репозиторий SVN – проблема с выпуском пользователей”

Я не считаю, что это рекомендуемый способ совместного доступа к репозиторию SVN. Вы используете протокол file:/// для доступа к репо, и это обычно не рекомендуется делать так. См. Этот вопрос и вопрос StackOverflow под названием: svn репозиторий на общем сетевом ресурсе Windows .

Из документации TortoiseSVN

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

Это же чувство повторяется и в бинарной книге SVN .

Не соблазняйтесь простой идеей о том, чтобы все ваши пользователи обращались к репозиторию напрямую через URL-адрес: //. Даже если репозиторий легко доступен для всех через сетевой ресурс, это плохая идея. Он удаляет любые уровни защиты между пользователями и репозиторием: пользователи могут случайно (или преднамеренно) повредить базу данных репозитория, становится трудно переносить репозиторий в автономный режим для проверки или обновления, и это может привести к беспорядку проблем с разрешением файлов ( см. раздел «Поддержка методов множественного доступа к репозиторию» ). Обратите внимание, что это также одна из причин, по которым мы предупреждаем о доступе к репозиториям с помощью URL-адресов svn + ssh: // – с точки зрения безопасности, это фактически то же самое, что и локальные пользователи, обращающиеся через файл: //, и это может повлечь за собой все те же проблемы если администратор не проявляет осторожности.

Прочитайте SO Q & A. Есть число людей, свидетельствующих о проблемах, с которыми они сталкивались, делая это таким образом, когда репозиторий поврежден.

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

Я бы рекомендовал настроить svnserve и получить доступ к репо через svn: // или ssh + svn: //

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

 usermod -a -G <group> <user> chgrp <group> /path/to/repo chmod 2770 /path/to/repo 

это гарантирует, что все созданные новые файлы наследуют групповые разрешения и должны помочь разрешить проблемы с разрешениями файловой системы.

Interesting Posts

Как оценивать различные оболочки

Перенаправить stderr в файл, но создать, только если произошел какой-либо stderr?

Как использовать одинаковые настройки интерфейса для всех устройств wlan

Проблемы с файловой системой с двойной загрузкой с / Etc / Hosts и Profile

Извлечь IP-адрес из строки

Как восстановить структуру каталогов и файлы из перепутанного раздела

Как заблокировать общие пароли в системах UNIX?

Передача аргументов в оболочку su-provided

Маршрутизация только трафика виртуальной машины через VPN

mutt: условный формат даты в "index_format"

Как получить дисковое пространство (Свободно) с помощью «df -h», когда файловая система длинная

Отображение даты пакета в интерфейсе Aptitude

Экран очень тусклый после возобновления с приостановления

Каков правильный способ уведомления sysadmin о каждом подключении пользователя и отключении?

Как узнать, есть ли пакет с определенной командой в AlpineLinux?

Linux и Unix - лучшая ОС в мире.