使svn签出需要密码

  • 本文关键字:密码 svn svn ubuntu
  • 更新时间 :
  • 英文 :


我设置了一个svn服务器http://www.oliverdavies.co.uk/blog/2011/10/install-and-configure-subversion-svn-server-ubuntu.我已经为它创建了一个密码,当使用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来解决此问题。

我怀疑有两件事:

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

要测试前者,您可以尝试这些说明,也可以简单地删除整个~/.subversion目录。如果随后的svn co命令失败,要求输入密码,那么问题就解决了。

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

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

希望有帮助!

最新更新