很多時候,線上環境的lnmp都不用root來跑。比如nginx單建一個用戶,mysql單建一個。代碼文件甚至是nobody用戶。不是很明白,網上也沒相關的解釋,只告訴你怎么個原因?有大神給講解講解嗎!
2 回答

www說
TA貢獻1775條經驗 獲得超8個贊
安全性考慮。你會發現Linux的服務幾乎都不用root身份運行,極少有服務需要root身份的。
設想如果你的php程序使用root運行,萬一你的程序有漏洞,被拿到了web shell,那么黑客將直接擁有root權限進入你的系統,想想看這是一件多么可怕的事情。所以你會發現Linux中對外暴露的服務幾乎都不用root。
對于Nginx,Apache這種需要bind權限端口的程序來說,它們的做法是使用root運行進程,bind端口,fork進程以低權限賬戶(如Nginx)提供服務,你仔細看看Nginx的進程樹就會發現了
- 2 回答
- 0 關注
- 1132 瀏覽
添加回答
舉報
0/150
提交
取消