web-dev-qa-db-ja.com

どうすればsvnをwww-dataとして実行できますか?

Ubuntuボックスにウェブサイトがあります。ファイルの所有権をwww-data:www-dataに変更しました。

ファイルを更新するには、通常Sudo svn upを実行する必要がありますが、これにより、ファイルの所有権の一部がroot:rootに戻ります。 svn upをwww-dataとして実行する方法はありますか?

2
Gustav Bertram

より良い解決策は、ファイルがあるディレクトリ(Webルート)のgidビットを設定することだと思います。 この質問 と優れた受け入れられた答えを見てください。

このようにして、Webルートディレクトリ内のすべての新しいファイルには、Webサーバーのデフォルトグループが含まれます。 Apacheはこれらを提供できるようになり、問題を解決する必要があります。


提案したことを本当に実行したい場合は、svnプログラムの所有者を変更し、 setuid ビットを設定できます。

chown www-data $(which svn)
chmod 4755 $(which svn)

これを実行した後、svnコマンドが実行されるたびに、www-dataユーザーによって呼び出されたかのように実行されます。

後でこれを元に戻したい場合は、次のようにします。

chown root $(which svn)
chmod 0755 $(which svn)
2