我在http://www.oliverdavies.co.uk/blog/2011/10/install-and-configure-subversion-svn-server-ubuntu之后设置了一个svn服务器。我已经为它创建了一个密码,当使用Web浏览器查看时,它确实需要密码,但是当我使用“svn checkout http://”时,我可以将存储库中的所有内容拉出来,就像没有密码一样。有谁知道这里发生了什么?
我的/etc/apache2/apache2.conf配置包含与上述帖子相同的内容,即
<Location /svn>
DAV svn
SVNParentPath /home/svn
AuthType Basic
AuthName "SVN Repositories"
AuthUserFile /etc/svn-auth
Require valid-user
</Location>
[!已解决]事实证明可以通过将<location /svn>
配置从/etc/apache2/apache2.conf移动到/etc/apache2/mods-available/dav_svn.conf来解决。
答案 0 :(得分:0)
我怀疑两件事之一:
您使用当前用户帐户通过svn命令行命令测试存储库,并缓存了您的凭据;或者你的Apache httpd配置的其他部分允许访问相同的目录,绕过样本中的svn身份验证。
要测试前者,您可以尝试these instructions,也可以只删除整个~/.subversion
目录。如果后续的svn co
命令失败,要求输入密码,那么问题就解决了。
要测试后者,请注释掉整个<Location /svn>
块,然后再尝试通过svn co
访问它。如果仍然可以,则httpd配置的其他部分提供对该目录的访问。在这种情况下,您需要仔细检查您的配置(可以分布在多个文件中),以查找可能授予/home
和/或/home/svn
目录访问权限的任何内容。请记住,Apache可以配置为允许用户访问他们自己的主目录,这可能是问题所在。
您还可以检查Apache HTTP允许访问的其他目录中的/home/svn
目录的符号链接。
希望有帮助!