鍍金池/ 問答/PHP  網(wǎng)絡(luò)安全  HTML/ 為什么不用root用戶來跑lnmp

為什么不用root用戶來跑lnmp

很多時(shí)候,線上環(huán)境的lnmp都不用root來跑。比如nginx單建一個(gè)用戶,mysql單建一個(gè)。代碼文件甚至是nobody用戶。不是很明白,網(wǎng)上也沒相關(guān)的解釋,只告訴你怎么個(gè)原因?有大神給講解講解嗎!

回答
編輯回答
愛礙唉

為了安全。
往深講那就是為什么unix,linux 哪怕是 windows 都有不同的用戶權(quán)限。

2018年4月20日 04:02
編輯回答
故人嘆

各司其職。比如,你一個(gè)公司的小嘍啰會知道公司的財(cái)務(wù)信息嗎?你真的需要知道嗎?老板會讓你知道嗎?

2017年11月10日 07:22
編輯回答
入她眼

安全性考慮。你會發(fā)現(xiàn)Linux的服務(wù)幾乎都不用root身份運(yùn)行,極少有服務(wù)需要root身份的。

設(shè)想如果你的php程序使用root運(yùn)行,萬一你的程序有漏洞,被拿到了web shell,那么黑客將直接擁有root權(quán)限進(jìn)入你的系統(tǒng),想想看這是一件多么可怕的事情。所以你會發(fā)現(xiàn)Linux中對外暴露的服務(wù)幾乎都不用root。

對于Nginx,Apache這種需要bind權(quán)限端口的程序來說,它們的做法是使用root運(yùn)行進(jìn)程,bind端口,fork進(jìn)程以低權(quán)限賬戶(如Nginx)提供服務(wù),你仔細(xì)看看Nginx的進(jìn)程樹就會發(fā)現(xiàn)了

2017年2月18日 18:57