2011-12-10 42 views
22

我剛剛在我的ubuntu服務器上設置了svn。我有一個我可以登錄的用戶。問題是,每當我嘗試對文件結構進行更改時,我都會遇到權限被拒絕的錯誤。SVN權限被拒絕 - txn-current-lock

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

我的回購是在/ var/WWW-svn的和文件夾的權限是drwxr-xr-x用戶和組SVN(我是壞的權限,所以我不知道這是正確的) 。我在svn上登錄的用戶位於svn組中,但我不能更改文件結構。 我在做什麼錯?它的工作原理是,如果我將文件夾的用戶和組更改爲我登錄的用戶。

在svnserve.conf的,匿名訪問設置爲AUTH-訪問設置爲

(我改變了的/ var的所有者通過鍵入sudo chown -R svn:svn www-svn內/ var目錄/ WWW - svn的。)

+0

你是如何訪問回購(svn,http,文件等)? – prodigitalson

+0

svn(使用TortoiseSVN Repo瀏覽器)。 – Marwelln

+0

那麼你對access/auth(svnserve.conf)的配置是什麼樣的? – prodigitalson

回答

8

svnserve deamon在我的用戶下運行,而不是root。我殺了在我的用戶下運行的svnserve進程,並以root身份重新啓動它。現在起作用了。

10

您必須爲/ var/www-svn /文件夾添加SETUID位,導致在事務處理下會有在運行SVN期間生成的文件夾,以保留由文件夾表示的事務。

這意味着在簡短的詞彙只是讓

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

應該解決的問題。

+1

我剛剛運行該命令,但發生了相同的錯誤。 – Marwelln

6

我的問題最終是因爲我申請了權限,然後做了svnadmin create,所以需要再次設置權限。

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

最後但並非最不重要的,如果你的庫是由用戶和組SVN

sudo chown -R svn:svn /var/svn/repos)擁有

一定要加誰可以訪問它的svn組的用戶。 vi /etc/group

svn:x:502:user1,user2 
11
上的文件系統必須擁有或最後

Repository文件夾已經閱讀您的SVN或通過Web-DAV Apache是​​工作在相同的Linux用戶/寫權限......

在我的情況是:

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

儘管這個問題已經很老了,它排名在谷歌高,但一個顛覆在Apache/httpd的Linux上沒有找到解決方案的幫助。

我在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

斯圖爾特在評論所說,另一種解決方案是通過更新文件權限,但更多的細節是不可用的,一些調整與周圍的文件權限應該有所幫助。

+0

發佈的鏈接已損壞。爲什麼你不能直接在這裏發佈答案?這就是爲什麼「僅鏈接答案」令人不悅。現在我們永遠不會知道...... – Stewart

+1

@Stewart對不起,鏈接已關閉。似乎不能使用搜索引擎緩存或archive.org恢復。我記得最好的是,SELinux的問題已經通過禁用它來解決。嘗試做同樣的事情,讓我們知道結果。在PROD服務器上執行此類操作之前,請小心謹慎並閱讀。 –

+0

我通過最終更改文件所有權來解決問題。 – Stewart

1

如果你沒有須藤權限:

在我的特殊情況下,我從一個共享Webfaction服務器遷移到另一臺。複製文件必須已將整個存儲庫所有權指定給我的用戶名,而所有者可能應該是apache才能訪問repo。我無法應用任何chown apache:mygroup repo,因爲我無法訪問用戶apache。如果沒有root訪問權限,使其工作的唯一方法是在我的存儲庫根目錄中使用chmod -R 777 .,最終刪除我無權chown的鎖定文件。這終於解決了這個問題,我可以再次承諾。