出于安全原因,以 root 身份运行 Supervisor 是不是一个坏主意?

出于安全原因,以 root 身份运行 Supervisor 是不是一个坏主意?

我想要一个灵活的设置(需要运行 Redis、Celery 和 uWSGI),但我想知道以 Supervisor 作为root(默认)运行是否是个坏主意,如果是,为什么它不好。

答案1

Supervisor 很乐意以 root 身份运行并更改您运行的进程的用户。但是,如果您配置了 Supervisor,它可能会打开用于 HTTP 和 XML-RPC 连接的网络端口。从理论上讲,打开这些端口会使 Supervisor 比 daemontools 等更容易以 root 身份运行。

在部署服务时(例如针对特定项目,我们称之为“fancysite”),我会创建一个与该服务(“fancysite”)相对应的用户,该用户依次运行主管以及构成“fancysite”但不使用系统中的常规初始化脚本运行的所有特定守护进程。例如,我通常使用发行版提供的任何内容在系统级别运行 nginx、PostgreSQL 和其他程序,然后将发行版不支持的内容安装到“fancysite”用户中,并通过主管启动和管理它们。

相关内容