用户的特权(Mysql,Nginx,Php-fpm)

有不成功的search的问题

1 – 为什么几乎每个软件都应该用自己的用户来运行,这么简单,只需要一个用户就可以运行,为什么没有人这样做呢?

2 – 为什么我不能把主目录设置为“/ dev / null”,shelllogin到“/ sbin / nologin”给所有人?

mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash # Mysql nginx:x:493:489:Nginx user:/var/lib/nginx:/bin/false # Nginx nobody:x:99:99:Nobody:/:/sbin/nologin # Php-fpm 

为什么这么多的select,为什么这么混乱,我不明白,为什么,为什么,为什么?

谢谢Oo

1 – 这是为了安全。 如果apache以自己的用户身份运行,并且有人攻击了apache,那么他不能控制mysql,也不能读取其他dirs,因为apache用户只有apache的权限,而且是目录。

2 – mysql以用户“mysql”运行。 一些守护进程,如mysql,需要启动其他程序或守护进程等,为此它需要一个有效的shell。 而mysql也必须读取家庭目录中的文件。 这是所有关于安全:)