具有root权限的forever模块是否还使用root权限运行其他进程?

Thi*_*ark -3 node.js forever

有一段时间我在设置Node.js Web服务器时提到了这个流行的答案.

但是,这个看似重要的评论我希望提出一个问题:

如果我将我的Node.js启动脚本添加到/etc/rc.local,它不会在系统启动时以root身份执行吗?这将破坏端口80重定向的目的.

如果我forever以root身份运行包,那么永远也会以root身份运行其进程吗?我在npm文档中找不到关于这一点的任何信息.如果永远确实以root身份运行进程,那么它确实会破坏目的并且应该相应地更新答案.

TGr*_*rif 5

这里真正的问题是如何在启动时以普通用户身份启动nodejs脚本?,因为你真的想要启动服务器的根,主要是出于安全考虑.

我不认为你会在npm文档上找到任何有趣的建议,因为这与npm没什么关系.

上述答案的作者对您引用的评论的回应非常明确:

如果从/etc/rc.local启动node.js脚本,它将以root身份运行.但是,安全性最佳实践是永远不要以root身份运行服务器

不要以root身份启动pm2.
如果某个其他进程在pm2之前启动,除了特殊处理之外,还将以root身份启动.

当我读

将Node.js启动脚本添加到您为端口重定向编辑的文件/etc/rc.local.

我知道在启动时创建一个启动nodejs脚本的脚本,并使该脚本作为标准/专用用户启动它.
也许这个答案可以给你如何做的想法:https://askubuntu.com/a/20238

总而言之,答案仍然有用而且不必更新,因为这个解决方案实际上非常适合普通用户访问端口(因为前1024个端口仅限于linux上的root用户)