2

假设我想阻止某些用户访问我的 SVN 存储库中的某些文件夹。我只是做:

[/]
* = rw

[/NewSecretFolder]
* = rw
some_poor_sap = 

但是,如果该文件夹从 SecretFolder 重命名为 NewSecretFolder 会怎样?用户 some_poor_sap 是否能够访问 /SecretFolder 的历史记录?

4

2 回答 2

2

authz文件授权机制完全基于路径,并忽略对象在其他版本中可能具有的不同名称。因此,当您访问某个版本的存储库时,将根据该版本的文件夹名称应用授权。

所以当我有这些授权时:

[/]
* = r

[/MyProject]
* = 
devs = rw

我将项目重命名为MyRenamedProject,然后像这样更改授权:

[/]
* = r

[/MyProject]
* = 
devs = r

[/MyNewProject]
* = 
devs = rw

在这里,我将旧项目路径保留在authz文件中并授予读取权限,以确保开发人员始终可以读取重命名之前的项目历史记录。

另请注意,我们始终至少授予对 root 的读取访问权限,然后* =在项目授权中再次将其取消,以解决奇怪的svn copy问题。我怀疑这仅在您使用 apache 托管 SVN 时才相关。

于 2011-01-18T11:52:22.707 回答
2

是的,到时候他就可以了。你需要做

[/]
* =

然后在需要时允许访问所需的用户。我就是这样做的。

于 2011-01-18T09:24:37.997 回答