
興味深いことに、nginx がインストールされた私の Ubuntu 派生版ではapt
、www-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
ユーザーのシェルを非対話型に設定することは、一般的にセキュリティ上良い方法です (実際には、対話型でログインする必要のないすべてのサービス ユーザーは、シェルを非対話型に設定する必要があります)。
既存の環境を巡回して試してみて、何か問題がないか確認します。
問題がなければ、今後は非対話型シェルを使用します。
問題があれば、修正を試みます。それなし対話型シェルを復元します :-)