每个目录访问控制svn + apache:奇怪的权限问题(403 Forbidden error)

时间:2009-07-20 17:41:47

标签: svn apache permissions

我有一个完美的svn + apache安装,我使用每个目录访问控制来限制对存储库各个部分的访问。特别是,没有人可以访问存储库中的顶级[/]。人们可以访问像[/ www]等文件夹。我在文件中指定了这些权限(svn-access-file)。

我不得不搬到新机器上。所以我在其上安装了subversion-1.6.3和httpd-2.2.11,并修改了conf文件以模仿旧机器上的conf文件(我复制了svn-access-file和svn-auth-file)。然后我拿了一个svn转储并做了一个加载把东西放回新的存储库中。现在我可以检查出来,修改内容和提交。但是,只要我尝试在已经检出的某个子文件夹[/ www / people]的副本上执行'svn up',我就会收到以下错误:

svn: Server sent unexpected return value (403 Forbidden) in response to OPTIONS request for 'https://[servername]/svn'

似乎问题是它正在尝试访问顶级目录[/],即使它真的只应该尝试访问[/ www]。如果我暂时让用户访问[/],它就可以了。

有人可以告诉我如何解决这个问题吗?一切都在旧机器上工作。

谢谢! 拉夫

2 个答案:

答案 0 :(得分:10)

原来这是subversion客户端中一个长期存在的错误。这是错误报告:

http://subversion.tigris.org/issues/show_bug.cgi?id=3242

它可能会在下一个主要版本中得到修复 - 1.7 与此同时,这是一个黑客解决方法:

http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2357123

我将'if'语句复制到mod_authz_svn.c的源代码中并重建了svn,现在它可以工作了:)

答案 1 :(得分:5)

这也是我在bug讨论中找到的解决方法。如果您在更新本地副本时遇到问题,请尝试将本地副本切换到同一URL。