使svn checkout需要密码

时间:2014-01-17 15:47:09

标签: svn ubuntu

我在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来解决。

1 个答案:

答案 0 :(得分:0)

我怀疑两件事之一:

您使用当前用户帐户通过svn命令行命令测试存储库,并缓存了您的凭据;或者你的Apache httpd配置的其他部分允许访问相同的目录,绕过样本中的svn身份验证。

要测试前者,您可以尝试these instructions,也可以只删除整个~/.subversion目录。如果后续的svn co命令失败,要求输入密码,那么问题就解决了。

要测试后者,请注释掉整个<Location /svn>块,然后再尝试通过svn co访问它。如果仍然可以,则httpd配置的其他部分提供对该目录的访问。在这种情况下,您需要仔细检查您的配置(可以分布在多个文件中),以查找可能授予/home和/或/home/svn目录访问权限的任何内容。请记住,Apache可以配置为允许用户访问他们自己的主目录,这可能是问题所在。

您还可以检查Apache HTTP允许访问的其他目录中的/home/svn目录的符号链接。

希望有帮助!