我正在为我的社交网站开发一项功能,允许用户上传图片(以及后来的视频),然后其他人可以查看。代码当前将上载的映像从临时上载目录复制到Web服务器文档根目录下的/ media /目录中,为其生成名称(我们不使用原始文件名)。图像也存储在mongo gridfs中。当请求进入图像文件时,我使用htaccess查看文件是否存在 - 如果不存在,则将URL重写为从mongo检索图像的PHP程序,将其写入/ media下的文件名/并重定向。
我的问题是关于/ media目录的安全性和相关目录权限。 / media /目录上的权限是必须由www-data写入的。如果没有我的文档根目录下的世界可写目录,有没有办法实现与我目前相同的效果?我已经阅读了很多关于这类问题的帖子,这些问题似乎说不同(尽管通常是非冲突的),我希望对我应该注意的要点有一个很好的总结。
答案 0 :(得分:2)
如果您只需要PHP脚本将文件上传到此文件夹(并更改其内容),那么您将需要让用户Apache作为目录的所有者运行。
要找出Apache运行的用户,请使用:
ps aux | grep apache
在SSH命令行上。然后找出Apache所属的用户组。正如你所说,它通常总是www-data
,但你总是可以仔细检查以确定。知道后,将此组设置为目录的所有者:
chgrp -R www-data /path/to/directory
答案 1 :(得分:1)