私は VPS を持っており、Web サービスのユーザー設定に関するベスト プラクティスを収集しようとしています。
サーバーにはさまざまなサービス (クラウド アプリ、ストリーミング アプリなど) があります。
私が知っているのは、各サービスにユーザーを作成し、それぞれに独自のホーム ディレクトリがあるが、それを使用してログインすることはできないということです。
これにより、root として実行するのではなく、ユーザーごとに cron コマンドを設定できます。また、サービスごとにバックアップを実行し、それを独自のホーム ディレクトリに保存することもできます (わかっています... 同じディスク、同じサーバー上であっても、バックアップを保存すべきではありませんが、バックアップを保存するための別のサーバーを購入するリソースはありません)。
バックアップを除けば、各サービスごとに新しいユーザーを作成するのは良い考えでしょうか? それともすべてを www-data の下に置いて、それで終わりにすべきでしょうか?
答え1
別々のアカウントを使用する主な利点は、他のサービスのデータへのアクセスを制限できることです。つまり、1 つのアプリが侵害された場合の影響を制限するために、機密データへの読み取りアクセスや書き込みアクセスを制限することになります。
すべての PHP スクリプトをユーザーの権限で実行している場合、ユーザー アカウントを分離するだけでは不十分な場合がありますwww-data
。各ユーザーに対して、そのユーザーの権限のみを持つ個別の PHP-FPM プールを作成することで、この問題を回避できます。