加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – NGinx和PHP应该运行的用户是什么?

发布时间:2020-12-13 17:59:55 所属栏目:Linux 来源:网络整理
导读:权限是我在 Linux上困惑了一段时间的事情.因此,在我的NGinx和 PHP-FPM实例与用户和组一起运行时: www-data 这是标准吗?当我遇到文件上传时遇到麻烦. 例如,文件将与用户和组www-data一起上传.现在,由于我在我的Web应用程序中设置权限(0440),我无法使用普通
权限是我在 Linux上困惑了一段时间的事情.因此,在我的NGinx和 PHP-FPM实例与用户和组一起运行时:

www-data

这是标准吗?当我遇到文件上传时遇到麻烦.

例如,文件将与用户和组www-data一起上传.现在,由于我在我的Web应用程序中设置权限(0440),我无法使用普通帐户通过ssh登录以下载这些文件.这不能改变.

我正在考虑更改我的nginx和php实例来保留组,但是将它们更改为在我的用户名下运行.

在这里处理权限的正确方法是什么?谢谢.

解决方法

这是如何工作的:
当您通过FTP / SSH登录并上传文件时,将使用您的权限创建它们.
可能你的webroot是世界可写的(0777),这是不安全的 – 系统中的每个用户都可以在那里写东西. PHP以不同的用户权限运行(它们在PHP-FPM配置中指定,而不是nginx配置),并且由于目录是全局可写的,PHP用户(www-data)也可以在那里写.但此文件的所有者是www-data,而不是您的帐户.它们是文件系统权限级别中的2个不同帐户.

我建议你创建具有最少权限的专用用户,这将拥有webroot目录,并将用于FTP / SSH上传,并将运行PHP.
您应该更改PHP-FPM配置,在工作部分中有用户输入和NGINX配置,因此您可以使您的网站文件不具有世界可读性和更安全性.

不要使用特权(sudo功能,写权限外部docroot)用户运行PHP,这可能会导致服务器安全性受损.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读