Странная проблема с разрешениями Subversion - PullRequest
3 голосов
/ 02 декабря 2009

Я пытаюсь настроить SVN в системе CentOS 5, чтобы несколько человек могли использовать репозиторий.

  • Я создал хранилище в /var/svnrepository.
  • Я добавил subversion пользователя и группу, сделал рекурсивным владельцем хранилища.
  • Я установил разрешения на 775 рекурсивно.
  • Я гарантировал, что все пользователи системы находятся в группе subversion.

Проблема, с которой я сталкиваюсь, заключается в том, что когда я делаю коммит, SVN, очевидно, создает файл с именем db/current, в котором есть мое имя пользователя и группа. Скажем, мое имя пользователя jimbo ...

-rwxrwxr-x 1 jimbo      jimbo         11 Dec  2 01:09 current

Тогда после этого никто другой не сможет ничего проверить. Они получают ошибку «Отказано в разрешении».

Существует также похожая проблема с файлом db/format.

Can not open file /var/svnrepository/contactdb/trunk/format: Permission denied

Кто-нибудь еще видел это? Знаете решение?

Весь доступ к хранилищу осуществляется через ssh.

Странно то, что я настраивал SVN на Linux раньше и никогда не имел этой проблемы. Я не знаю, что я делаю по-другому на этот раз.

Ответы [ 2 ]

3 голосов
/ 02 декабря 2009

Обратите внимание, что обычно setGID устанавливается в каталоге репозитория Subversions и его дочерних каталогах:

drwxr-sr-x svnowner svnusers 4096 2008-11-01 .

с помощью chmod 775 вы сбросили этот бит setGID и поэтому возникли проблемы:

setGID означает: если вы создаете файл, для группы будет установлено значение svnusers (в моем примере), а не ваша основная группа.

Бьюсь об заклад, у вас не установлен бит SetGID, не так ли?

Однако лучше изменить GID папок:

chmod g+s <REPO>/dir

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

2 голосов
/ 02 декабря 2009

Вы используете svnserve или все проходят через file:/// URI? Subversion рекомендует против второго . svnserve -d должен быть запущен как один пользователь.

Вот некоторая документация о попытке заставить работать методы множественного доступа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...