SVN限制组仅到子文件夹

SVN限制组仅到子文件夹

我一直在尝试寻找解决这个问题的方法。我觉得我已经接近成功了,但是已经很晚了,而且我很累。

我试图将特定用户锁定到单个目录(本例中为“/QA”)并拒绝我的 QA 测试人员访问其余存储库。但是,我没有注意到我的错误,因为出于某种原因,“测试人员”组可以访问整个存储库(这是不可取的)。

以下是我的 apache 配置。

授權:

[groups]
admins = admin1
coders = user1, user2,
designers = user3
testers = user4

[/]
* =
@admins = rw

[myrepo:/]
* = 
@testers = 
@designers =
@coders = rw


[myrepo:/QA]
* = 
@testers = r
@coders = rw
@designers = rw

Apache 配置:

<Location /svn>
        LimitXMLRequestBody 0
        LimitRequestBody 0

        DAV svn
        SVNParentPath   /home/svnuser/repositories

        <IfModule mod_authz_svn.so>
                AuthzSVNAccessFile      /home/svnuser/svn/authz
        </IfModule>

        AuthUserFile    /home/svnuser/svn/passwd

        AuthType        Basic
        AuthName        "My repos"

        Require         valid-user
</Location>

其他检查:

  • dav && dav_svn 已加载到 apache 中。
  • 密码文件工作正常。
  • 我怀疑这是否重要,但我确实通过本地 nginx 安装代理非 http 端口上的 svn,因为我已经安装了它并且不想与端口冲突。SVN 工作正常,所以我认为这不是问题。

注意:不确定这是否是serverfaultstackoverflow材料。

答案1

  1. 如果你只保留重载访问字符串,则可以使用具有相同功能的较短版本的 authz
[groups]
admins = ...
coders = ...
designers = ...
testers = ...

[/]
* =
@admins = rw

[myrepo:/]
@coders = rw

[myrepo:/QA]
@testers = r
@designers = rw

权限从父节点继承,你只需要在每个节点中写入来自父节点的更改

  1. 如果用户仅属于@testers,它(即使在您的配置中)也只能读取/myrepo/QA 和 childs

相关内容