仅向 svn 存储库中的用户提供访问权限

仅向 svn 存储库中的用户提供访问权限

我的服务器上有多个 svn 存储库。例如:

/var/svn/repo1
/var/svn/repo2
/var/svn/repo3

我想只授予客户端对 repo2 的访问权限,因此我创建了一个用户“client”,并向他提供了 SSH 访问权限。现在,客户端可以按如下方式签出 repo2:

svn co svn+ssh://client@<public-ip>/var/svn/repo2

但问题是,他可以使用他的用户名(客户端)和密码通过 SSH 进入服务器,并且可以弄乱其他文件。他还可以签出所有其他存储库。我如何限制客户端只能签出 repo2。

他不应该能够:

  1. 访问任何其他存储库
  2. 提交到 repo2
  3. SSH 连接服务器

授予他检出存储库的权限是否明智?

谢谢。

答案1

通过隧道运行时,授权主要由操作系统对存储库数据库文件的权限控制。

但即使在隧道的情况下,您仍然可以使用 svnserve.conf 文件来阻止访问,只需设置 auth-access = read 或 auth-access = none。

相关内容