【发布时间】:2014-05-12 14:14:53
【问题描述】:
我在 svn 存储库中有一个项目,其中包含更多的分支和标签,并且有几个用户在同一个项目中工作,但在不同的分支中。我授予特定用户写入权限,使其仅访问特定分支,但不授予其他分支,同样允许另一个用户写入不同的分支。
第 1 步:我已使用
创建用户htpasswd -m /etc/apache2/dav_svn.passwd username
第 2 步:svnserve.conf
[general]
password-db = passwd
realm = reponame
anon-access = none
auth-access = write
authz-db = authz
第三步:密码
username : passwd
在 passwd 文件中添加了用于为此项目创建 htpasswd 的用户和密码。
第 4 步:授权
#[the_name_of_repository:/path_in_that_repository]
[test:/]
user1 = r
user2 = r
[test:/branches/data1]
user1 : rw
[test:/branches/data2]
user2 : rw
所以,现在user2 只能访问(提交、更新、签出)data2 分支并且可以读取所有其他文件夹,而user2 可以访问(提交、更新、签出)data1 分支。访问控制未按authz 文件的预期正常工作。
我做错了什么?
【问题讨论】:
-
没有理由结束这个问题。它既是关于 SO 的主题,也相当清楚。
-
如果你的意思是“
user1可以访问data1”,那么你的规则都是正确的。你没有解释的是你如何为你的存储库提供服务(Apache、svnserve、svnserve+ssh)以及你如何指向你的配置。 -
另外,你的文件真的是
svnserver.conf吗?默认为svnserve.conf(注意缺少r)。 -
user1 也可以访问 data2,但我只给了 user1 对 data2 分支的读取权限。在 centos 中安装了 subversion。
-
抱歉 svnserver.conf 只是输入错误。现在改变了。
标签: svn