私はnginxでWebサーバーを実行しており、続いてgunicornでCeleryでDjangoアプリを実行しています。すべての gunicorn プロセスと Celery ワーカーは、Supervisor によって管理されます。私の質問は、スタック内の各プロセスにアクセス許可を設定するという点で、ベスト プラクティスは何ですか?
現在、私は基本的にデフォルトに従っていますが、ここには安全でない部分がいくつかあると確信しています。
- Nginx マスター プロセスはルートであり、ワーカー プロセスは www-data として実行されます
- スーパーバイザはルートとして実行されます
- Gunicorn は root で実行しています (別の用途として設定しようとしましたが、プロセスが起動しませんでした)
- PostgresSQL と RabbitMQ は独自のユーザーとして実行されます (postgres と rabbitmq)
- まだ Celery をセットアップしていませんが、ドキュメントには root として実行しないように記載されています
どの権限を強化する必要がありますか? また、機能させるためには、どのファイルにアクセスできるようにする必要がありますか?