我刚刚发现我的 nginx 用户与 ("php-user") 返回的用户不同。这两个用户都不是 root。但是,我想知道这种配置是否会导致将来出现问题?
我正在使用 Ubuntu 12.04。
答案1
这是一个非常好的想法,可以提高服务器的安全性。
这意味着如果没有全局写入权限,PHP 就无法写入 nginx(或任何其他用户)拥有的数据(并且您永远都无法执行chmod 777
任何操作)。
在我的生产 Web 服务器中,nginx 以用户身份运行,nginx
而 PHP 以用户身份www-data
或类似身份运行。
答案2
通常,您希望 FTP 用户、SSH 用户、Web 服务器用户和 PHP 用户始终保持一致,以避免权限问题。请阅读此内容,
http://www.sonassi.com/knowledge-base/stop-magento-permissions-errors-permanently/
如果不是为了您在网站上工作时保持理智的话。否则,您很可能会不断发现自己被 chmod'ing 或 chown'ing。
原则上,有两个用户比只有一个用户更安全。但是,安全性永远取决于使用它的人。可能的结果是有人递归地修改目录以尝试解决权限问题 - 然后忘记它并让它完全开放。此外,如果启用了 selinux,可能会出现树遍历问题。
我们还以不同的用户身份运行 Nginx,但通常与 PHP 进程属于同一组,但由于它仅用于静态内容,因此它实际上只需要读取权限。