我已经在内置 RPM 的 RHEL 7.2 机器上设置了一个 SVN 服务器。在我创建存储库之后。
在创建存储库 demorepo
后,我成功地在一个客户端中使用 'root'
用户。'svn+ssh'
协议(protocol)访问了存储库
但后来我启用了基于路径的授权,并配置了存储库的 svnserve.conf、passwd 和 authz 文件,如下所示:
svnserve.conf 文件
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
密码文件
rouser1 = pswd1
rouser2 = pswd2
rwuser1 = pswd3
rwuser2 = pswd4
spluser = pswd5
授权文件
[groups]
readgrp = rouser1,rouser2,spluser
writegrp = rwuser1,rwuser2
[demorepo:/]
@readgrp = r
@writegrp = rw
[demorepo:/proj1]
spluser = rw
[demorepo:/proj2]
spluser =
现在,在配置了上述文件之后,我成功地通过"svn"
协议(protocol)(不是通过ssh 隧道)访问了存储库,但是我通过 失去了访问权限“svn+ssh”
协议(protocol)。
那么,在启用基于路径的授权的情况下,有什么方法可以同时使用这两种协议(protocol)访问存储库吗?或者如果我的配置有任何错误,请告诉我?
最佳答案
主要是路径问题。
如果您对 svn 和“svn+ssh”使用相同的路径,那么作为 ssh 的问题将采用完整路径,因此如果我们假设/proj1 位于
/home/user/project1
svn+ssh 路径将是 yoursite.com/home/user/project1
svn 路径是yoursite.com/project1
关于linux - 启用基于路径的授权后通过 svn+ssh 访问时抛出授权失败错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37885671/