web-dev-qa-db-ja.com

使用するためにSubversionリポジトリファイルのパーミッションを自動的に調整するにはどうすればよいですか? Apache / DAV?

Apache/DAVでアクセス可能なSubversionサーバーをセットアップしました。数日前にリポジトリファイルのアクセス許可を台無しにした後、これを行う方法よりも良い方法があるかどうか疑問に思い始めました。

リポジトリは専用のユーザーとグループによって所有され、Apacheは通常のwww:wwwユーザーとして実行されるため、リポジトリへの書き込み権限はありません。これまでの私の解決策は、wwwユーザーをsvnグループに追加し、リポジトリ内のファイルがグループ書き込み可能であることを確認することでした...しかし、今から6か月後に作成します新しいリポジトリ。誰かが何かをコミットしようとするとすぐに、ファイルのアクセス許可を修正してメールを受け取るのを忘れてください。

それを行う他の方法はありますか?そもそもsvnadminにグループ書き込み可能なリポジトリを作成させるのではないでしょうか。 (サーバーがFreeBSD 6.2だと思っている場合)

5
agnul

Apacheを使用してリポジトリにアクセスすると、書き込み権限が必要なユーザーApacheが実行されます。したがって、 最も簡単な解決策 は、このユーザーにリポジトリを提供することです。

Apacheがwww-dataとして実行される私のDebianマシンでどのように見えるかを次に示します。

%ls -ald/home/Subversion-Repository 
 drwxr-xr-x 7 www-data www-data 4096 Nov 14 10:02/home/Subversion-Repository 

これは、Apache/DAVおよび別の手段を介して同じリポジトリにアクセスできるようにする場合にのみ問題になります。しかし、この慣行は 落胆 です。私は引用します:

幸い、ほとんどのリポジトリ管理者は、このような複雑な構成を行う必要はありません。同じマシン上にあるリポジトリにアクセスしたいユーザーは、file://アクセスURLの使用に限定されません。通常、http://またはsvn:/のサーバー名としてlocalhostを使用してApacheHTTPサーバーまたはsvnserveに接続できます。/URL。また、Subversionリポジトリの複数のサーバープロセスを維持することは、必要以上に頭痛の種になる可能性があります。ニーズに最適な単一のサーバーを選択し、それを維持することをお勧めします。

3
bortzmeyer

長期的な解決策は、ACLSを使用して、wwwユーザーがディレクトリツリーおよびツリーに作成される将来のすべてのディレクトリへの書き込みアクセスを許可することです。

このURLを試して開始してください。

http://www.onlamp.com/pub/a/bsd/2005/09/22/FreeBSD_Basics.html

-ブライアン

2
Brian