![仅向 svn 存储库中的用户提供访问权限](https://linux22.com/image/1294700/%E4%BB%85%E5%90%91%20svn%20%E5%AD%98%E5%82%A8%E5%BA%93%E4%B8%AD%E7%9A%84%E7%94%A8%E6%88%B7%E6%8F%90%E4%BE%9B%E8%AE%BF%E9%97%AE%E6%9D%83%E9%99%90.png)
我的服务器上有多个 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。
他不应该能够:
- 访问任何其他存储库
- 提交到 repo2
- SSH 连接服务器
授予他检出存储库的权限是否明智?
谢谢。
答案1
通过隧道运行时,授权主要由操作系统对存储库数据库文件的权限控制。
但即使在隧道的情况下,您仍然可以使用 svnserve.conf 文件来阻止访问,只需设置 auth-access = read 或 auth-access = none。