2013-01-08 75 views
3

我試圖限制對我的Subversion存儲庫訪問某些用戶。但是,我無法按照自己想要的方式工作。Apache上的Subversion Authz配置

我有三個存儲庫。我們稱之爲repo1,repo2和repo3。 我也有三個用戶。 user1,user2和user3。

我想要的是所有的用戶讀/寫repo1和只有user1讀/寫repo2和repo3。我不希望user2和3能夠讀取repo2和repo3。 現在,我認爲下面的配置應該工作:

[groups] 
group1 = user1, user2, user3 

[/repo1] 
@group1 = rw 

[/repo2] 
@group1 = 
user1 = rw 

[/repo3] 
@group1 = 
user1 = rw 

[/] 
* = r 

然而,這個配置用戶2和用戶3仍然可以訪問所有回購的,並沒有用戶被允許提交/修改任何文件。

誰能告訴我我做錯了什麼?

編輯

感謝正確的答案我已經得到它的工作。可能對其他用戶有用。

[groups] 
group1 = user1, user2, user3 

[repo1:/] 
@group1 = rw 

[repo2:/] 
user1 = rw 

[repo3:/] 
user1 = rw 

回答

3

在部分

回購的定義從SVN Book

如果你使用SVNParentPath指示,它在你的部分指定版本庫的名字是很重要的。如果省略它們,則[/some/dir]等部分將與每個存儲庫中的路徑/some/dir相匹配。

科格式是有據可查的:

的節名的值是形式[repos-name:path][path]

即或形式的[/repoN]定義內的每個路徑/ repoN和每個回購,而不是存儲庫。使用[repoN:/]作爲適當的存儲庫的根

+0

謝謝,就是這樣。我的配置知道工作正確:) – Ozzie

+0

@Ozzie - 在根節中爲每個人添加至少r,你的舊'[/] * = r' –

+0

爲什麼這是必要的?它適用於我現在使用的配置... – Ozzie