На сервере Ubuntu у меня есть каталог, содержащий файлы с версией Subversion. я использовал chgrp bb *
установить владельца группы.
Я также установил бит SGID каталога с помощью chmod g+s mydir
так что новые файлы создаются с этой группой:
drwsr-sr-x 4 mat bb 4096 Dec 4 21:37 mydir
Это нормально работает, если я создаю новый файл с touch test-touch
-rw-r--r-- 1 mat bb 0 Dec 4 21:43 test-touch
Но svn update
не имеет такого же эффекта:
-rw-r--r-- 1 mat mat 3006 Dec 4 21:44 test-svn
Как я могу заставить Subversion уважать бит SGID?
В соответствии с Контроль версий с помощью Subversion, решение состоит в том, чтобы убедиться, что экземпляр svn или svnserve, обращающийся к репозиторию, работает с umask 002, см. этот.
Проходя мимо это обсуждение в списке рассылки SVN невозможно сохранить биты прав доступа к файлу в SVN, кроме исполняемого бита, который имеет специальное свойство SVN.
Раньше у меня была такая же проблема с подрывной деятельностью на машине RHEL4. После переноса репозитория на машину RHEL5 (и, следовательно, на другую версию Subversion) проблема исчезла.
Исполняемый файл Subversion запущен от имени пользователя bb или mat? Чтобы узнать это, проверьте разрешения на двоичный файл svnserve (в моей системе это /usr/bin/svnserve
. Также проверьте группу, которой он принадлежит.