web-dev-qa-db-ja.com

Ubuntu 14.04 LTS '編集操作のルートを開くことは許可されていません'

Ubuntu 12.04LTSからUbuntu14.04 LTSに移行した後、Apache SVN(mod dav_svn)の動作が変更されました。

すでにチェックアウトされているプロジェクトでサーバーから更新すると、編集操作のルートを開く権限がありませんになり始めました。

独立したAuthzSVNAccessFileファイルを持つ複数のリポジトリがあり、一部は同じAuthUserFileファイルを共有しています。

以前は、12.04 LTSでは、ブラウザからリポジトリのルート(/ Example1など)へのすべてのリクエストにより、ユーザーにログインを求めるプロンプトが表示されていました。

AuthzSVNAccessFileに* = rを追加するという提案がありましたが、これはオプションではありません。すべてのユーザーがログインする必要があるためです。つまり、すべてのリポジトリで認証が必要です。

更新時に「編集操作のルートを開くことが許可されていません」というエラーメッセージを修正しようとしています。

詳細

/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
Gordo

私のエラーは、Satisfy Anyの代わりにSatisfy Allを使用することでした。

Ubuntu 12.04 LTSで動作した理由はわかりませんが、Ubuntu 14.04 LTSで「キャッチ」されたか、エラーが明らかになりました。

2
Gordo