我关注了文档使用 Apache 设置 SVN [第 3 节,但目前不使用 SSL],当我未启用 httpd.conf 中的“需要用户”等安全设置时,我可以访问“测试”存储库。在 httpd.conf 中添加安全设置后,它会提示输入用户凭据,尽管我提供了正确的用户和密码 (harry/harryssecret),但它不起作用。
Httpd 配置文件
<Location /svn>
Order allow,deny
Allow from all
DAV svn
SVNParentPath /u01/svn/repositories/
# Access control policy
AuthzSVNAccessFile /u01/svn/conf/users-access-file
Satisfy Any
Require valid-user
AuthType Basic
AuthName "Veera Subversion repository"
AuthUserFile /u01/svn/conf/passwd
</Location>
文件路径
[svn@mercury conf]$ pwd
/u01/svn/conf
[svn@mercury conf]$ ls
passwd users-access-file
[svn@mercury conf]$ cat passwd
veera = test
[users]
harry = harryssecret
sally = sallyssecret
[svn@mercury conf]$ cat users-access-file
[/]
*=
harry=w
[test:/]
harry=w
来自 httpd 的 error.log
[Wed Jul 10 22:59:57.889044 2013] [auth_basic:error] [pid 14211:tid 1163790656] [client 192.168.0.39:50612] AH01618: user harry not found: /svn/test
[Wed Jul 10 23:01:57.243014 2013] [auth_basic:error] [pid 14239:tid 1165687104] [client 192.168.0.39:50616] AH01618: user veera not found: /svn/test
答案1
这AuthUserFile
应该是一个使用二进制创建的 Apache 密码文件htpasswd
。
您已为 Apache 提供了 Subversion 密码文件,但它不包含任何适合 Apache 格式的有效用户/密码组合。