我安装了一个 SVN 服务器并在其中配置了一个存储库。它可以通过 Apache 访问。我已允许 3 个用户访问,以下是存储库配置文件:
[root@afdev conf]# egrep -v '^#' *
authz:
authz:[aliases]
authz:
authz:[groups]
authz:
authz:
authz:allaccess = vladimirc,antonc,oleksiyd,itaig
authz:
authz:[/]
authz:@allaccess = rw
passwd:
passwd:[users]
passwd:antonc = XXX
passwd:oleksiyd = XXX
passwd:vladimirc = XXX
passwd:itaig = XXX
svnserve.conf:
svnserve.conf:
svnserve.conf:[general]
svnserve.conf:anon-access = none
svnserve.conf:auth-access = write
svnserve.conf:password-db = passwd
svnserve.conf:authz-db = authz
svnserve.conf:realm = kiev_repo
svnserve.conf:
svnserve.conf:[sasl]
[root@afdev conf]#
但不知为何,当我浏览时,系统http://svn_server/svn/repo
要求我输入密码,当我输入上述指定用户之一的凭据时,密码窗口再次弹出,好像凭据不被接受。在编辑目录中的文件后,repo conf
我这样做了service svnserve restart ; service httpd restart
,但似乎用户仍然无法登录 SVN 存储库。可能出了什么问题?我错过了什么?
答案1
我找到了问题并修复了它。似乎保存用户和加密密码的文件是,/etc/svn-auth-users
而不是repo/conf
目录中的 passwd 文件。我使用htpasswd -m /etc/svn-auth-users user1
,设置密码,然后我能够使用http://svn_server/repo
新创建的凭据登录 SVN 服务器。我仍然不明白为什么文件/home/svn/repo/conf/passwd
被忽略和/etc/svn-auth-users
使用,但既然现在一切都正常,我的用户可以登录 SVN 服务器 - 我没有任何抱怨。