背景私は最近、rootアクセス権を持つホスト上にphpベースのサイトをセットアップしました。linode.comのガイドに基づいてランプのセットアップをインストールしましたが、phpファイルのアクセス許可、ディレクトリのアクセス許可、およびどのユーザーがどのグループのどのプロセスを実行する必要があるのか疑問に思っています。
特に、「ACL、所有権、および製品IDに関して標準のphp Webサイトをどのように構成する必要があるか」という質問に対する回答が欲しいのですが、
現在、ディレクトリリストは次を返します。
-rw-r--r-- 1 root root 70 Nov 8 17:17 index.php
つまりroot
、所有者、root
グループ、モード644
/ uw & ar
。([編集]ファイルはrootを使用して作成するべきではないため、これは本来あるべき姿ではありません-この質問の理由の一部です)
実行ps -auxww
中ApacheWebサーバーはと呼ばれるユーザーとしてwww-data
実行されているので、phpは同じユーザーとして実行されると推測できます(おそらく、同じユーザーを継承する子プロセスです)。
chmod 640
すべてのファイルを設定し、自分自身(user bob
)を所有者として設定し、ユーザーproductionIDs
を含むというグループを作成www-data
し、ファイルのグループをに設定するのは間違っているproductionIDs
でしょうか?
私には、これは最小特権の観点からより安全であるように思われます。私とWebサーバー以外に誰がいますか?ファイルを書き込む必要があるのは私だけであり、Webサーバーは読み取るだけです。他の誰も何もする必要はありません。
私のセットアップでは、複数の開発者がいる場合は処理されませんが、この場合がどのようになるかはわかりません。
640
それで、所有者私、グループWebサーバーグループにリスクはありますか?もしそうなら、対応するディレクトリ750
も安全ですか?
そうでない場合は、なぜもっと多くの人がこの構成を使用しないのですか?
[更新]試して理論を見て、それは動作します。そのため、質問には「この構成では何が許可されないのか/この構成の欠点は何ですか」という側面が含まれます。