Подтвердить что ты не робот

Разрешено SVN - txn-current-lock

Я только что установил svn на моем сервере ubuntu. У меня есть мой пользователь, с которым я могу войти. Проблема в том, что всякий раз, когда я пытаюсь внести изменения в файловую структуру, я получаю отказ в разрешении на отказ.

Can't open file '/var/www-svn/db/txn-current-lock':
Permission denied

My repo находится в /var/www-svn, а разрешение в этой папке drwxr-xr-x для пользователя и группы svn (я плохой с разрешениями, поэтому я не знаю, если это правильно). Мой пользователь, с которым я вхожу в систему на svn, находится в группе svn, но я не могу изменить структуру файла. Что я делаю неправильно? Он работает, если я изменяю пользователя и группу папки своему пользователю, чтобы я тоже заходил.

В svnserve.conf для анонимного доступа установлено значение none и для доступа к auth-access установлено значение.

(я изменил владельца /var/www -svn, набрав sudo chown -R svn:svn www-svn внутри /var directory.)

4b9b3361

Ответ 1

svnserve deamon работает под моим пользователем, а не как root. Я убил процессы svnserve под моим пользователем и перезапустил его как root. Теперь он работает.

Ответ 2

Папка репозитория в файловой системе должна принадлежать или, наконец, иметь разрешение на чтение/запись того же пользователя linux, над которым работает ваш svn или apache через web-dav...

В моем случае это было:

$ chown -R www-data:www-data /svn/reponame

Ответ 3

Вы должны добавить бит SETUID для папки /var/www -svn/, в результате транзакций будут созданы папки, созданные во время запуска SVN для сохранения транзакций, которые представлены папками.

Это означает, что в коротких словах просто сделайте

chmod +s -R /var/www-svn/

должен решить проблему.

Ответ 4

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

 $ sudo chown -R www-data:subversion myproject
 $ sudo chmod -R g+rws myproject

Ответ 6

Если у вас нет прав sudo:

В моем конкретном случае я перешел с одного сервера Webfaction на другой. Копирование файлов должно было назначить полное владение репозитория для моего имени пользователя, в то время как владелец, вероятно, должен быть apache, чтобы репо было доступно. Я не мог применить любой chown apache:mygroup repo, потому что у меня нет доступа к пользователю apache. Без доступа к root единственным способом заставить его работать был chmod -R 777 . внутри моего корня репозитория, в конечном итоге удалив файл блокировки, к которому у меня не было прав на chown. Это, наконец, решило проблему, и я мог бы совершить еще раз.

Ответ 7

И последнее, но не менее важное: если ваш репозиторий принадлежит пользователю и группе svn

(sudo chown -R svn:svn /var/svn/repos)

Обязательно добавьте пользователей, которые могут получить к нему доступ в группу svn. vi /etc/group

svn:x:502:user1,user2

Ответ 8

Хотя вопрос очень старый, он стоит выше в Google, но один с subversion на Apache/httpd в Linux не находит решения полезными.

Я запускаю subversion на Apache, CentOS linux. Для меня проблема была вызвана SELinux и отключением, которые мне помогли.

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

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security-Enhanced_Linux/sect-Security-Enhanced_Linux-Enabling_and_Disabling_SELinux-Disabling_SELinux.html

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