如何限制SVN中的用户只访问提交的日志历史记录(无RO访问)

时间:2011-08-12 15:14:35

标签: svn redmine visualsvn-server

我需要限制SVN用户只能获取包含修订号和消息的修订日志,以及更改文件列表。

用户不得访问源文件内容。

我们需要将项目管理系统与Redmine集成,以便自动更新问题状态,并能够通过获取SVN修订日志消息来列出更改日志。出于安全原因,我们不希望此用户访问这些来源。

你有什么想法吗?提前谢谢。

2 个答案:

答案 0 :(得分:0)

哇:这是一个非常不寻常的请求,我不确定它是否可行。

我只能想到一个(非常遥远的)可能性:将存储库的根目录访问给这一群人,但拒绝他们访问分支,标记和主目录子目录。用户可能能够在存储库的根目录上执行svn日志,但无法自行检出文件。

我真的没有时间设置完整的测试,但这是我能想到的唯一可能性。在授权中有这样的东西。我甚至不确定这种语法是否100%正确:

[groups]
dev = tom, dick, harry
other = bob, carol, ted, alice

[myrepos: /]
@dev = rw
@other = rw

[myrepos: /trunk]
@dev = rw
@other =

另一种可能性:使用基于Web的程序或客户端服务器类型程序来查看日志信息。例如,假设一个有限的程序可以执行“svn ls”或“svn log”,但这就是全部。服务器可以完全访问Subversion存储库,但只允许有限的查询。

最后的可能性(以及我的偏好)是使用像Jenkins这样的连续构建系统来对每次签入进行构建.Jenkins将使您可以轻松查看每个构建中的更改,甚至可以列出已更改的文件,但拒绝访问源。对于这个特定的用户群来说,这很可能已经足够了。

更好的是,Jenkins可以与Redmine整合,因此Redmine可以引入变化。

答案 1 :(得分:0)

来自another question的此解决方案。将这些行添加到svnserve.conf文件中:

anon-access = none
auth-access = write

这可以在未经授权的命令行中使用:

enter image description here