Answers:
它是这样工作的:当您通过FTP / SSH登录并上传文件时,这些文件是在您的许可下创建的。您的webroot可能是世界可写的(0777),这是不安全的-系统中的每个用户都可以在其中写入内容。PHP以不同的用户权限运行(它们是在PHP-FPM配置中指定的,而不是在Nginx配置中指定的),并且由于目录是可写的,因此PHP用户(www-data)也可以在其中写入。但是此文件的所有者是www-data,而不是您的帐户。在文件系统权限级别上,它们是2个不同的帐户。
我建议您创建具有最小特权的专用用户,该用户将拥有webroot目录,并将用于FTP / SSH上传并运行php。您应该更改PHP-FPM配置,在工作程序部分中,有用户条目和NGINX配置,因此您可以使您的网站文件不被世界范围阅读并且更安全。
不要以特权用户(sudo功能,写特权外地docroot)运行PHP,这可能会损害服务器安全性。
www-data
组中,而不创建专用用户吗?它可以解决@ThePixelDeveloper的问题吗?谢谢。
该www-data
用户组是相当标准。它可能是其他系统上的www或Web,但思路是相同的:使用专用帐户运行Web服务。因此,当您的Web服务器受到威胁时,攻击者将只能访问该帐户已被授予的文件。
如果用户必须管理Web服务,则应将用户添加到相关组(www-data)或允许他向相关用户su(或sudo)(仍为www-data)。
read
&write
到某个文件夹,则需要给他适当的权限。在大多数情况下,这将是Web根文件夹/var/www/html
和755
权限。我对吗?谢谢!