Webサーバー、redis、およびmongodbを実行するにはどのユーザーを使用する必要がありますか?

Webサーバー、redis、およびmongodbを実行するにはどのユーザーを使用する必要がありますか?

このVPSには、root、another_one、およびnoneという3人のユーザーがいます。すべてのWebサーバーファイル、構成などがroot実行に問題があります。ルートをWebサーバーとして使用すると、システムがセキュリティホールにさらされる可能性があります。ログインしようとすると、nobody私が設定したことがなく、わからないパスワードを求められます。別のユーザーを作成する必要がありますか?

今私はnginxについてだけ確信しています。 rootとして実行すると、プロセスはnoneとして生成されます。しかし、Webサーバーとdbやredisなどの他のサービスはどうですか?

注:another_userはsudoを実行できるため、rootと変わりません。

答え1

私はいつも献身的なユーザーと一緒にサービスを運営しています。したがって、次のユーザーを作成します。

  • nginx
  • モンゴル
  • Apache
  • mysql
  • レディス

実際のサービスをrootとして実行してはいけません!

通常、ディストリビューションのパッケージマネージャを使用してこれらのアプリケーションをインストールすると、インストールの一部として各サービスに対してユーザーが自動的に作成されます。

私は主にCentOS / RHELを使用していますが、Apacheのようなものをインストールすると「apache」というユーザーが自動的に作成されます。 MySQLとNginxも同様です。

答え2

サービスをrootとして実行することを躊躇するのは正しいです。 Webサーバー用に別々のユーザーを作成するのが最善です。ファイルの所有権と権限に関するこの議論を読むことも悪くありません。https://serverfault.com/questions/357108/what-are-the-best-linux-permissions-to-use-for-my-website

関連情報