有一段時間我在設置我的Node.js Web服務器時一直指這個popular answer。具有超級用戶權限的永久模塊是否還具有超級用戶權限的其他進程?
然而,有此一說我想提出有關問題看似重要的評論:
如果添加我的Node.js啓動腳本到/etc/rc.local,那會不會執行作爲根系統啓動?這將破壞端口80重定向的目的。
如果我運行forever
包爲根,永遠不會反過來也運行其流程爲根?我在npm documentation找不到關於這一點的任何信息。如果永遠以root身份運行進程,永遠也是根源,那麼它確實打敗了目的,並且應該相應地更新答案。
如果我希望滿足以下條件:*如果從/etc/rc.local啓動node.js腳本,它將以root身份運行。但是,安全最佳實踐是永遠不會以root身份運行服務器*,那麼聽起來像我需要找到一種方法來以非root用戶身份啓動我的Node.js啓動腳本,但讓root用戶從文件中啓動命令'的/ etc/rc.local'。這就說得通了。 – ThisClark
您的問題存在的問題是,通過執行不應以root身份「永遠」執行的任務,開始構成安全風險。 – Gi1ber7
@ Gi1ber7如果root可以安全地以不同用戶的身份運行進程而不需要提高權限,那麼該進程將不具有root權限,並且可以避免問題。 – ThisClark