SVN仅限于子文件夹

我一直在试图find解决这个问题的方法。 我想我很近,但是很晚,我很累。

我想要做的是将一个特定的用户locking到一个目录(本例中的“/ QA”),并拒绝我的QAtesting人员访问其余的回购站。 然而,我的错误逃避了我,因为“testing人员”组可以访问完整的回购(不受欢迎的)。

下面是我的configuration为Apache。

AuthZ的:

[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 

Apacheconfiguration:

 <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安装代理svn在非http端口上,因为我已经安装了它并且不想打端口。 SVN的工作原理,所以这是一个非问题,我认为。

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

  1. 如果只保留超载访问string,则可能使用相同function的更短版本的authz
 [groups] admins = ... coders = ... designers = ... testers = ... [/] * = @admins = rw [myrepo:/] @coders = rw [myrepo:/QA] @testers = r @designers = rw 

权限是从父级inheritance的,您必须在每个节点中只写入父级的更改

  1. 如果用户只属于@testers,它可以(甚至在你的configuration)只读只读/ myrepo / QA和孩子