www-data ユーザーには実際のシェルが必要ですか?

www-data ユーザーには実際のシェルが必要ですか?

興味深いことに、nginx がインストールされた私の Ubuntu 派生版ではaptwww-dataユーザーにはシェルがあります:

$ cat /etc/passwd
www-data:x:33:33:www-data:/var/www:/bin/sh

これは のように設定すべきではないでしょうか/bin/false? ユーザーがログインできないにもかかわらず、このようにシステムユーザーにシェルをデフォルトで提供するのは危険ではないでしょうか?

答え1

まあ/bin/false(または/bin/trueあなたがポジティブな人なら)それは本当の殻です - それはただ相互の作用シェル :-)/sbin/nologin同じ目的を果たすシステムもいくつかあります。

Apache ユーザーに対話型シェル ( のようなもの) が必要かどうかについてはbash、他の人が言っているように、答えは「通常は不要」です。Apache
ユーザーのシェルを非対話型に設定することは、一般的にセキュリティ上良い方法です (実際には、対話型でログインする必要のないすべてのサービス ユーザーは、シェルを非対話型に設定する必要があります)。

既存の環境を巡回して試してみて、何か問題がないか確認します。
問題がなければ、今後は非対話型シェルを使用します。
問題があれば、修正を試みます。それなし対話型シェルを復元します :-)

関連情報