如何设置SVN的项目级权限?

如何设置SVN的项目级权限?

我有一个在 Ubuntu 9.04 上运行的 SVN 服务器。在 /var/svn 中,有各种项目 - /var/svn/foo、/var/svn/bar 等。我希望能够授予用户“A”对“foo”的完整 SVN 权限,但不授予对“bar”的权限,反之亦然 - 用户“B”可以拥有对“bar”的权限,但不一定拥有对“foo”的权限。

做这个的最好方式是什么?

答案1

来自文档

对于 Apache,需要加载 mod_authz_svn 模块,然后添加指向您自己的规则文件的 AuthzSVNAccessFile 指令(在 httpd.conf 文件中)。如果您使用的是 svnserve,则需要使 authz-db 变量(在 svnserve.conf 中)指向您的规则文件。

文件 svnserve.conf 位于每个 repo 目录中,而 AuthzSVNAccessFile

指定一个包含存储库内路径的权限策略的文件

(总是来自他的文档)

答案2

我建议您不要允许您的用户通过 svn 命令行工具或 svnserver 在您的存储库上直接进行文件级别的操作。设置 apache 并使用 http[s] 访问存储库 - 在这样的设置中,您可以获得细粒度的访问控制。仅向运行 apache 的用户 [www-data] 授予对您的存储库的读/写访问权限,并拒绝其他任何人 [包括本地用户] 访问。

这里或者这里

相关内容