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

时间:2017-12-07 08:28:39

标签: apache svn ubuntu-16.04

环境: - 操作系统:Ubundu 16.4 svn服务器版本: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

但是user1仍然可以将project2签出到他的PC中。(但他不能提交更改)。如何阻止此user1访问project2。

1 个答案:

答案 0 :(得分:1)

[/]
* = r

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

您有两种选择:

  1. 从根目录下删除* = r行。
  2. [project2:/]下方,您可以添加一行@project1 =
  3. 使用选项#2,您可以禁止某些用户/组完全访问目录,但这样做意味着他们仍然可以访问您可能添加到存储库的任何其他项目,因此,您需要继续为您添加的每个项目执行选项#2。我个人推荐选项#1,然后只为每个项目添加经过身份验证的用户。在我看来/经验中,只有管理员才能拥有root权限。

    此外,由于您已在admin = rw下添加了[/],因此您无需在任何项目下添加admin = rw,因为它们本身可以获得对整个存储库的读/写访问权限。