为了账号安全,请及时绑定邮箱和手机立即绑定

为什么不用root用户来跑lnmp?

为什么不用root用户来跑lnmp?

PHP
慕姐8265434 2018-06-27 09:08:07
很多时候,线上环境的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的进程树就会发现了


查看完整回答
反对 回复 2018-07-21
?
ibeautiful

TA贡献1993条经验 获得超5个赞

为了安全。
往深讲那就是为什么unix,linux 哪怕是 windows 都有不同的用户权限。

查看完整回答
反对 回复 2018-07-21
  • 2 回答
  • 0 关注
  • 1041 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信