如何防止svn用户避免访问其他项目

How to prevent a svn user to avoid accessing other projects

环境:- OS:Ubundu 16.4 svn 服务器 version:1.9.3 (r1718519)

问题:-

我在svn中有2个项目,不同的用户有不同的访问权限。我已将 authuz 文件更新如下

[groups]

project1 = admin,user1,user2,user3
project2 = user4,user5

[/]
* = r
admin = rw
[project1:/]
@project1 = rw
admin = rw

[project2:/]
@project2 = rw
admin = rw

但是用户 1 仍然能够将项目 2 检出到他的 PC 中。(但他不能提交更改)。如何阻止此用户 1 访问项目 2。

[/]
* = r

这是你的问题。 * = r 表示所有用户都被授予读取权限。由于此命令位于 [/](或根)目录下,这意味着他们可以读取存储库中的所有内容。

您有两个选择:

  1. 删除根目录下的 * = r 行。
  2. [project2:/] 下面你可以添加一行 @project1 =

使用选项 #2,您可以完全禁止某些 users/groups 访问目录,但是,这样做意味着他们仍然可以访问您可能添加到存储库的任何其他项目,因此,您需要为添加的每个项目连续执行选项 #2。我个人推荐选项 #1,然后只向每个项目添加经过身份验证的用户。只有管​​理员才能在我的 opinion/experience.

中拥有 root 访问权限

此外,由于您已在 [/] 下添加了 admin = rw,因此您无需在任何项目下添加 admin = rw,因为它们本身就具有 read/write 访问权限整个存储库。