最近VPSを購入し、そこから多くのことを学びました。 ftpユーザーを作成し、それをサイトのドキュメントルートの所有者として設定し、それをwww-userグループに追加し、グループをドキュメントルートのグループとして設定し、ファイルに0775(0664)アクセス許可を与えるように管理しました。
私の質問は、www-dataがドキュメントルート内のファイルにアクセスして変更できる場合、他のサイトのスクリプトもそれらのファイルを変更できないかどうかです(現在、.htaccessを使用して公開から保護されています)。
注:PHPスクリプトはファイルを変更できるはずなので、www-dataに書き込みアクセス権を持たせたいです。
この問題を解決する方法は?
この問題を解決するには、www-data
を使用するのではなく、独自の資格情報を使用して各サイトインスタンスを実行する必要がありました。
Apache
を使用する場合は、 Apache-mpm-itk
とそのAssignUserID
パラメーターを使用して、特定のユーザー/グループをそれぞれの異なるサイト/仮想ホストに割り当てることができます。この方法では、Apache
、php
、cgi
、eccの両方が割り当てられた資格情報で実行されます。
もう1つのphp固有のアプローチは suPHP
で、基本的に特定のユーザー/グループの資格情報を使用してphpスクリプトを実行します。
Apacheユーザーまたはグループにすべてのドキュメントルートを書き込ませないことが最善だと思います。 Apache-mpm-itk/suPHP/mpm-peruserを使用するかどうかにかかわらず、Apacheが実際に書き込む必要のあるファイルとディレクトリ(サイトごと)を検出し、それらのファイル/ディレクトリにのみグループ書き込み権限を付与する必要があります。