Security SVN';s身份验证和文件夹重命名
假设我想阻止某些用户访问我的SVN repo中的某些文件夹。我只是:Security SVN';s身份验证和文件夹重命名,security,svn,authz,Security,Svn,Authz,假设我想阻止某些用户访问我的SVN repo中的某些文件夹。我只是: [/] * = rw [/NewSecretFolder] * = rw some_poor_sap = 但如果该文件夹从SecretFolder重命名为NewSecretFolder呢?用户sap是否能够访问/SecretFolder的历史记录?是的,届时他将能够访问。 你需要做什么 [/] * = 然后允许在需要的地方访问所需的用户。我就是这样做的。文件授权机制完全基于路径,忽略了对象在其他版本中可能具有的不同名称
[/]
* = rw
[/NewSecretFolder]
* = rw
some_poor_sap =
但如果该文件夹从SecretFolder重命名为NewSecretFolder呢?用户sap是否能够访问/SecretFolder的历史记录?是的,届时他将能够访问。
你需要做什么
[/]
* =
然后允许在需要的地方访问所需的用户。我就是这样做的。文件授权机制完全基于路径,忽略了对象在其他版本中可能具有的不同名称。因此,当您在某个修订版访问存储库时,将根据该修订版的文件夹名称应用授权 因此,当我获得这些授权时:
[/]
* = r
[/MyProject]
* =
devs = rw
我将项目重命名为MyRenamedProject
,然后我更改如下授权:
[/]
* = r
[/MyProject]
* =
devs = r
[/MyNewProject]
* =
devs = rw
在这里,我将旧的项目路径保存在authz
文件中,并授予读取权限,以确保开发人员始终可以从重命名之前读取项目的历史记录
还请注意,我们总是至少授予根目录的读取权限,然后在项目授权中使用
*=
再次将其删除,以解决此问题。我怀疑这只有在您使用apache托管SVN时才相关。我们也是这样开始的,但是使用的是SVN copy
。出于某种原因,您至少需要对项目的所有父文件夹(直到根目录)具有读访问权限,以便使用svn copy
,而不仅仅是对正在进行更改的文件夹具有读写访问权限。我明白了,可能我只是从未使用过svn copy,也感谢您提供的信息:-D