我已经在我的 Linux 服务器上安装了 Apache Subversion的/var/svn
目前我们公司有两个小组正在开展两个项目:
- 第一组使用以下版本的 Subversion:
https://www.lumiin.ch/svn/lumin/trunk
- 第二组使用以下 Subversion:
https://www.lumiin.ch/svn/lumin/trunk/mindmade/html5
现在的问题是第二组能够读/写来自第一个群组链接的代码。
现在我想限制第二个群组用户访问第一个群组链接。他们应该无法读取/写入代码。
如何拒绝第二组用户对该路径的授权?
有谁能帮助我吗?
问候 Karthick
答案1
我假设您使用指令通过 apache2 为您的 SVN 提供服务SVNPath
。
首先将身份验证要求添加到httpd.conf
文件:
<Location /svn>
DAV svn
SVNPath /mnt/big/svn
AuthType Basic
AuthName "SVN Server"
# create svn.pass using htpasswd
AuthUserFile /etc/apache2/svn.pass
Require valid-user
</Location>
然后在指向将定义权限的文件的Location
部分指令中添加,例如:AuthzSVNAccessFile
[groups]
group1=martin,jane,bob
group2=jane,james,johan
[/]
* = r
[/project1]
* =
@group1 = rw
[/project1]
* =
@group2 = rw
您可以在以下位置找到更多信息:使用 subversion 进行版本控制- 尤其这里。
答案2
我看到了另一个问题,根本的,如果我可以这样称呼的话。这与授权无关(財的回答几乎涵盖了授权主题)。
为什么您以这种方式组织存储库?
您有 2 个小组负责不同的项目,但项目被放置在主分支“trunk”下。
为什么不对不同的用户组或者不同的项目使用不同的分支呢?
在我看来,您的存储库组织得很糟糕(就我所见和所理解的而言)。您绝对应该考虑 SVNBook 文章:“存储库部署策略”。