颠覆,结账和限制问题

时间:2014-06-18 11:15:54

标签: svn

如果我有一个回购,请说repo1包含100个文件夹,我希望检查出来的用户只能访问两个文件夹,dir1和{{1 }}

如何在我查看dir2文件夹的位置完成此操作。 repo1

我似乎找不到限制访问其他98个文件夹的有效方法,而无需在svn co svn://repo1 dest文件中单独编写限制行。

如果我有

authz

我无法检查[/] user = [/repo1/dir1] user = rw [/repo1/dir2] user = rw 文件夹,因为我无法访问它。但要访问它,所有文件夹都将继承访问权限。

任何帮助将不胜感激!!

1 个答案:

答案 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是一个版本控制系统,只要您不给予管理员权限,您就可以随时撤消,还原,更改错误。如果你有那些不值得信任的人,你不能让他们进入任何东西,因为他们会造成太大的伤害,正确的答案是训练他们,将他们移动到他们不能造成任何伤害或解雇他们的角色。