如何使用LDAP / Limit和AuthzSVNAccessFile配置Apache / Subersion路径

时间:2019-02-21 21:30:44

标签: apache svn

我有一个基于apache的Subversion服务器,该服务器托管多个存储库,这些存储库使用Location节可以很好地工作,该节利用Limit和LimitExcept部分,如下所示:

<Location "/svn/IAM/">
  <Limit GET PROPFIND OPTIONS REPORT>
    Require ldap-group CN=LDAP_ReadOnly
  </Limit>
  <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require ldap-group CN=LDAP_ReadWrite
  </LimitExcept>
</Location>

基于此,LDAP_ReadOnly中的帐户可以读取整个存储库,而LDAP_ReadWrite中的帐户则可以读取和写入整个存储库。

随之需要授予“ / svn / IAM / Trunk / Project1”组LDAP_LimitedRead读访问权限,并且没有对/svn/IAM/Trunk/Project1/one.properties的访问权限,也没有对/ svn / IAM / Trunk的访问权限/ Project2等。

我已经尝试使用SVNParentPath和SVNPath进行以下操作

<Location "/svn/IAM/Trunk/Project1/">
        Dav svn
        SVNParentPath /svn/repos/IAM/Trunk/Project1
        AuthzSVNAccessFile IAM.svnAuth
</Location>

在IAM.svnAuth文件中包含以下内容

[IAM:Trunk/Project1]
Dev1 = r

[IAM:Trunk/Project1/one.properties]
Dev1 =

根据红豆书,基于路径的身份验证仅指向AuthzSVNAccessFile的使用。我想知道的是,是否有可能同时做到这两者以及如何做到。

1 个答案:

答案 0 :(得分:0)

基于路径的授权可以通过组/用户完成

创建组

[组] readonly-developers =哈利,莎莉,乔

readwrite-developers =坦率,莎莉,简(Jane)

每个人=哈利,莎莉,乔,弗兰克,简(Jane)

可以像用户一样授予组访问控制权。用“ @”前缀来区分它们:

[reponame1:/ projects / calc]

@ readwrite-developers = rw

[reponame2:/ projects / paint]

@ readonly-developers = r

frank = rw;