用户权限(Mysql、Nginx、Php-fpm)

用户权限(Mysql、Nginx、Php-fpm)

有搜索失败的问题

1-为什么几乎每个软件都应该与自己的用户一起运行,用单个用户运行所有东西是如此简单,为什么没有人这样做?

2 - 为什么我不能将主目录设置为“/dev/null”并将每个人的 shell 登录设置为“/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

为什么有这么多选择,为什么这么混乱,我不明白,为什么,为什么,为什么?

谢谢Oo

答案1

1-这是出于安全考虑。如果 apache 以其自己的用户身份运行,并且有人入侵了 apache,他就无法控制 mysql,也无法读取其他目录,因为 apache 用户只对 apache 及其目录具有权限。

2 – mysql 以用户“mysql”的身份运行。一些守护进程(例如 mysql)需要启动其他程序或守护进程等。为此,它需要一个有效的 shell。mysql 还必须读取主目录中的文件。这都是为了安全 :)

相关内容