2011-04-26 25 views
0

我正在使用authz文件來限制對subversion服務器(svnserve)的訪問。我想授予用戶讀寫存儲庫中特定項目的權限,但不能訪問同一存儲庫中的其他項目。我AuthZ的文件看起來像這樣:SVN基於路徑的身份驗證問題

[groups] 
trusted = userA,userB,userC 

[/] 
@trusted = rw 
* = 

[repo1:/project1] 
userD = rw 

然而與此AuthZ的文件,userD只能,但不到/ PROJECT1。

如果我添加以下內容:

[repo1:/] 
userD = r 

然後userD可以同時讀取和寫入/ PROJECT1。

這對我沒有任何意義。根據subversion book,「最具體的路徑總是首先匹配」,所以應該沒有必要這樣做。此外,我不明白,設置讀取權限是實際讓這個用戶到項目。

任何人都可以幫忙嗎?

+1

我很難過,對我來說看起來很好。您使用的是什麼版本的SVN,客戶端和服務器?另外,你如何訪問回購(日食,命令行等)? – 2011-04-26 18:45:09

+1

剛剛測試這與mod_dav_svn 1.6.13和它工作正常,但與svnserve – vinnyjames 2011-04-26 23:54:58

+0

@John類似的問題:svn服務器是1.3.1。從命令行訪問repo,但不能立即檢查客戶端版本(不同的機器)。我會在今天晚些時候發佈。 – Grodriguez 2011-04-27 06:46:42

回答

1

這似乎是一個相似或相同的錯誤,在低於1.5的版本中提到here。我強烈建議將你的版本庫和SVN版本升級到1.6。儘管如此,您可能會感到很痛苦,因爲您必須轉儲並加載整個回購。關於遷移您的存儲庫here有一個很好的指導。如果你的回購很少,這個過程不算太長(我在公司環境中完成了)。

另一種方法是使用apache作爲你的SVN服務器主機。

編輯:

通過SVN更新日誌的沖刷後,我發現這1.4.3 Changes

固定:AuthZ的需要 根寫的讀訪問(問題#2486)

這聽起來像是你的問題。所以據說它應該在版本1.4.3之後修復。

+0

謝謝約翰。我不確定它是否真的是一樣的錯誤,因爲我有一個非訪問設置爲none,這似乎解決了所有提到的問題。快樂地升級存儲庫,但我首先想知道這是否真的在更高版本中得到修復... – Grodriguez 2011-04-28 19:06:47

+0

@Grodriguez,檢查我的帖子。 – 2011-04-28 22:23:04

+0

這一定是它。謝謝! – Grodriguez 2011-05-02 23:32:37