Subversion版本库访问规则

我有几个存储库和用户通过CollabNet Subversion Edge进行设置。 我试图了解一些限制只有less数用户访问我们的一些存储库,而我遇到了一些问题。 例如,我设置了以下规则:

[groups] engineers = alexa, miked dtil = user1, user2, user3 [/] * = rw [PermissionsTest:/] ~@engineers = 

我想要做的就是让其他仓库独立(让任何人读写它,为什么我离开了[/] * = rw),但是能够在这种情况下将PermissionsTest限制在一个用户组中。 但是,我仍然可以签出并更新PermissionsTest中的代码,作为不在工程师组中的另一个用户。

是否有可能通过一个规则限制存储库访问? 还是我明确地必须授予用户和组访问每个存储库,使其工作?

如果在所需级别上没有明确的匹配,Subversion访问控制将从更高级别inheritance。 在你的情况下,组dtil被隐式地授予rw到testing仓库,因为它已经在父级rw了。

如果你有一个模型,大多数的仓库都是rw并且有一些限制的仓库,那么你必须小心地deny那些可能拥有更高权限的用户和组:

 [PermissionsTest:/] ~@engineers = * = 

如果你有很多团体和知识库需要照顾,你可以想象它会变得非常混乱。 不得不明确拒绝访问从来不是一个好的方法。 我build议删除lop level * = rw default,并将其作为策略默认添加到您想要打开的存储库(最小权限原则)中。 这可能会使你的configuration稍微大一点,但这是更安全的路线。

先删除这个

[/]

* = rw

并明确授予项目的用户权限。