2011-03-23 31 views
6

我與當前設置的svnserve:SVN錯誤: 「無權打開根進行編輯操作」

的svnserve.conf:

anon-access = read #I also tried anon-access = none or comment this line 
auth-access = write 
password-db = passwd 
authz-db = authz 

的authz:

[/] 
foo = rw 

[/Subdir] 
foo = rw 
bar = rw 

如果用戶'bar'嘗試checkout/Subdir文件夾,那麼他會收到錯誤:「無權打開編輯歌劇的根目錄重刑」。 用戶foo可以正確執行此操作。

我能用這個麻煩做什麼?

回答

0

我認爲你的authz是錯誤的。 [/]是所有存儲庫的特例。如果要開始授權存儲庫路徑,則需要使用[reponame:repopath]將存儲庫名稱放在那裏。欲瞭解更多信息:

http://svnbook.red-bean.com/nightly/en/svn.serverconfig.pathbasedauthz.html

+0

我改變的authz到 [repname:/] 富= RW [repname:/子目錄] 富= RW 巴= RW 但問題是仍然存在。 PS。用戶'bar'可以從/ Subdir/subsubdir/ – zzc 2011-03-23 22:00:06

+0

結賬您可能想要確保您的套管是正確的。 Foo和foo在你的authz文件中是不一樣的。這適用於用戶名,存儲庫名稱和存儲庫路徑。 – 2011-03-24 14:57:11

0

我找到答案的這篇文章:http://wp.evx.me/evolonix/2011/11/27/svn_error_e220000/

有各種各樣的逃生艙門,一個允許你交易安全功能的速度。如果您未執行任何類別的目錄授權(即不使用mod_authz_svn或類似模塊),則可以禁用路徑檢查。在你的httpd.conf或虛擬主機文件,使用SVNPathAuthz指令:

禁用路經檢查

<Location /repos> 
    DAV svn 
    SVNParentPath /usr/local/svn 
    SVNPathAuthz off 
</Location> 

的SVNPathAuthz指令是「上」默認情況下。當設置爲「關閉」時,所有基於路徑的授權檢查均被禁用; mod_dav_svn停止在它發現的每個路徑上調用授權檢查。

3

我發現從我的apache配置中刪除Satisfy Any修復了一切。

+0

對於Apache託管的SVN存儲庫,這是正確的方法,因此你從我身上得到一個重擊;-) – 2014-09-25 11:33:38

0

我解決了這個問題 最好你會通過以下步驟檢查svn網絡。 1.打開SVN設置,選擇保存的數據,點擊認證數據的清除...按鈕,再試一次,如果遇到同樣的問題,請按照以下步驟操作。 2.打開SVN的設置,選擇網絡菜單上,單擊Subversion服務器文件的編輯按鈕,添加以下行的文件 HTTP-AUTH-類型的最終=基礎;消化 3.保存該文件現在嘗試

0

我得到了同樣的錯誤,但以不同的方式解決了它。我有一個子文件夾結帳:在本例中

SVN\SubDir 

像由主題曲,該帳戶bar只有進入子目錄。但是,當我嘗試使用bar帳戶更新文件夾SubDir時,出現錯誤Not authorized to open root of edit operation

我發現原因是它是完整結賬的一部分。通常情況下,具有有限權限的用戶只會簽出特定的文件夾,而不是在完整結帳中更新。當我單獨簽出所需的文件夾時,bar可以很好地訪問它。 :)

相關問題