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

我想要有一个灵活的设置(需要运行Redis,Celery和uWSGI),但是我想知道是否以超级用户身份运行Supervisor(缺省设置),如果是的话,为什么它不好。

Supervisor很乐意以root身份运行,并更改为您运行的进程的用户。 但是,如果您将其configuration为使用,则主pipe可能会打开HTTP和XML-RPC连接的networking端口。 开放这些理论上,主pipe比起daemontools更容易以root身份运行。

在部署服务的时候(比如对于一个特定的项目,我们称之为'fancysite'),我创build一个与该服务相对应的用户('fancysite'),这个用户又运行主pipe,还有所有组成'fancysite'的特定守护进程,使用系统中的常规初始化脚本运行。 例如,我通常在系统级别运行nginx,PostgreSQL和其他系统级别,然后将分发不支持的东西安装到“fancysite”用户,并通过pipe理员启动和pipe理它们。