基于路径的授权存在问题

时间:2019-07-10 12:44:10

标签: svn svn-administraton

我们有一个具有许多存储库和通过AD身份验证的用户的Subversion服务器,该服务器在过去几年中运行良好。现在,我们必须限制对存储库的访问,而我有以下无法解决的问题。 有些用户只能访问几个存储库中的特定子文件夹。因此,我将所有用户的访问权限都限制为“无访问权限”,并为相应的子文件夹授予了用户访问权限。现在我们遇到的问题是,这样的存储库是不可见的,并且只有在使用完整路径的情况下,才可以访问这些存储库:

[/]
# Restrict access for all users
* = 

[repos1:/subdir1]
@user1 = rw

[repos1:/subdir2]
@user2 = rw

对于user1和user2,repos1未在网页(mysvnserver / svn)中列出。 TortoiseSVN无法访问这些用户的存储库。仅当使用完整路径(mysvnserver / svn / repos1)时,user1和user2才能访问subdir1 / subdir2。这意味着,用户知道存在哪些存储库以及可以访问的存储库的哪些部分。

我想要的是user_group1看到存储库,并且仅对subdir1具有完全访问权限,而user_group2仅对subdir2具有完全访问权限。

允许所有用户以只读方式访问root用户     [/]     * = r 导致user1和user2具有对所有存储库的读取访问权限,这不是我们想要的。其他用户将能够在存储库的顶层创建新文件夹,因此必须采用这种方式-限制所有用户的访问权限,并授予用户对相应存储库子目录的访问权限。

那我该如何实现呢?

1 个答案:

答案 0 :(得分:0)

[/]
* = r
[repos1:/subdir1]
@user1 = rw
@user2 =
[repos1:/subdir2]
@user1 =
@user2 = rw
[repos1:/subdir3]
@user1 =
@user2 =
[repos1:/subdir4]
@user1 =
@user2 =
…
[repos1:/subdirN]
@user1 =
@user2 =

[repos2:/]
* =
...
[reposN:/]
* =

即-只允许对已使用的仓库(从/)进行读取访问,并在需要时添加写权限。 “继承”并不意味着“没有修改”或“没有其他限制”-试试吧