我们有一个颠覆服务器,其中包含许多存储库和通过 AD 进行身份验证的用户,过去几年运行良好。现在我们必须限制对存储库的访问,我有以下我无法解决的问题。有些用户应该只能访问少数存储库中的特定子文件夹。因此,我将所有用户的访问权限限制为对所有存储库的“无访问权限”,并为相应子文件夹的用户授予访问权限。现在我们遇到了问题,这样的存储库是不可见的,并且只有在使用完整路径的情况下才能访问此类存储库:
[/]
# 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 对所有存储库具有读取访问权限,这不是我们想要的。其他用户将能够在存储库的顶层创建新文件夹,因此必须这样做 - 限制所有用户的访问权限并授予用户对相应存储库子目录的访问权限。
那么我该如何实现呢?