如果我有一个回购,请说repo1
包含100个文件夹,我希望检查出来的用户只能访问两个文件夹,dir1
和{{1 }}
如何在我查看dir2
文件夹的位置完成此操作。 repo1
我似乎找不到限制访问其他98个文件夹的有效方法,而无需在svn co svn://repo1 dest
文件中单独编写限制行。
如果我有
authz
我无法检查[/]
user =
[/repo1/dir1]
user = rw
[/repo1/dir2]
user = rw
文件夹,因为我无法访问它。但要访问它,所有文件夹都将继承访问权限。
任何帮助将不胜感激!!
答案 0 :(得分:1)
尝试类似:
[groups]
dev = Fred, Bill, Sue
[/]
* = r
@dev = rw
[/repo1/]
user = r
[/repo1/dir2]
user = rw
[/repo1/dir12]
user = rw
[/repo1/dir72]
user = rw
这表示默认情况下每个人都具有读取权限,开发组在任何地方都具有读写权限,并且用户可以使用'只有三条特定的路径。
请注意,权限向下应用,默认情况下,任何地方都没有任何权限。可以找到更多信息here。
一般来说,策略是:
所以而不是:
top-level-
- Hundreds of directories
拥有数百个用户权限,尝试构建更像:
的东西top-level
- Common Utilities
- Command Line Utilities
- GUI Utilities
- Web Utilities
- Database Stuff
- Hardware Projects
- HW_1
- HW_2
- Customer Projects
- Retail Customers
- Customer A
- Customer B
- Wholesale Customers
etc.
然后,您可以拥有一组用户,这些用户是All Utilities的维护者,另一个是All Customers,一个用于数据库等等(请记住,一个用户可以是多个组的成员。这些将获得作为一个组,权限设置为区域中的所有内容,默认情况下在下面(嵌套在)中,您只需要为特殊的各个组设置权限,即必须仅由特定的人工作。
另请注意,SVN是一个版本控制系统,只要您不给予管理员权限,您就可以随时撤消,还原,更改错误。如果你有那些不值得信任的人,你不能让他们进入任何东西,因为他们会造成太大的伤害,正确的答案是训练他们,将他们移动到他们不能造成任何伤害或解雇他们的角色。