从 Ubuntu 12.04 LTS 迁移到 Ubuntu 14.04 LTS 后,我的 Apache SVN(mod dav_svn)行为发生了变化。
我开始无权打开编辑操作的根目录从服务器更新已签出的项目时。
我有多个具有独立 AuthzSVNAccessFile 文件的存储库,其中一些共享同一个 AuthUserFile 文件。
以前,在 12.04 LTS 上,从浏览器到 repo 根目录(例如 /Example1)的所有请求都会提示用户登录。
我看到有建议添加* = r
AuthzSVNAccessFile,但这不是一个选项,因为所有用户都必须登录,即所有存储库都需要身份验证。
我希望修复更新时出现的“未授权打开编辑操作的根目录”错误消息。
细节
示例条目/etc/apache2/mods-available/dav_svn.conf
:
...
<Location /Example1>
DAV svn
SVNPath /home/svn/Example1
AuthzSVNAccessFile /etc/subversion/svnauthz-Example1.conf
Satisfy Any
Require valid-user
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/subversion/svn-passwords
</Location>
<Location /Example2>
DAV svn
SVNPath /home/svn/Example2
AuthzSVNAccessFile /etc/subversion/svnauthz-Example2.conf
Satisfy Any
Require valid-user
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/subversion/svn-passwords
</Location>
...
AuthzSVNAccessFile 示例:
[/]
juser = rw
应用程序版本:
$ apt-show-versions apache2
apache2:i386/trusty-security 2.4.7-1ubuntu4.1 uptodate
$ apt-show-versions libapache2-svn
libapache2-svn:all/trusty-security 1.8.8-1ubuntu3.1 uptodate
客户:
Versions v1.3.0 on OSX
svn command line v1.7.10 (r1485443) on OSX
答案1
我的错误是使用Satisfy Any
而不是Satisfy All
。
不确定为什么在 Ubuntu 12.04 LTS 上一切正常,但在 Ubuntu 14.04 LTS 上却‘捕获’到了我的错误或者使其暴露出来。