我的网站上有一个上传图片功能。我在我的localhost中尝试过,它工作正常。现在我托管了它,发生了以下错误:
移动上传的文件无法打开流权限被拒绝
我在网上检查了错误,发现通过将chmod更改为777,可以解决。
我尝试了同样的方法,但它确实奏效了。即使只是713工作正常。但由于黑客行为的可能性,给予777许可并不好。
有没有解决的办法?我现在已经将chmod更改为713,直到我可以获得更好的解决方案。
我目前使用Ubuntu 16.04映像托管在Google Cloud Platform中
您可以使用2个选项。
1)您可以将所有者从上传目录更改为apache用户
chmod www-data:www-data your_folder
但这有一些负面影响。您的ssh用户可以使用root权限在此处编辑文件。
2)您只能为上传文件创建一个组,并将您的ssh用户和apache用户放入该组
sudo addgroup uploaders
sudo usermod -aG uploaders www-data
sudo usermod -aG uploaders your_user
在此之后更改上传文件夹的所有者
chmod your_user:uploaders your_folder
在此之后,您可以将权限更改为744或您想要的内容