使用apache2在Django rest wsgi上上传图像的权限被拒绝

时间:2018-07-30 14:10:43

标签: django ubuntu django-rest-framework apache2 wsgi

主要问题

当用户将图像上传到其余的管理门户时,将引发权限错误。后端模型是一种简单的模型,只有ImageFieldTextField

我的设置

Ubuntu 16.04 LTS

Python 3.6

带有mod_wgsi的Apache2为python3.6编译

上传目标归我的帐户和wwwdatagroup所有(我为www-data创建了该组,并在上传目标上授予了760)

这是ls -l的输出,该文件夹位于我的主目录下,图像已上传到媒体文件夹的子文件夹。

drwxrw---- 3 MYUSERNAME wwwdatagroup 4096 Jul 30 17:48 media

这是由chmod -R 760 media设置的,我想这将递归设置权限。

问题

我的wsgi进程没有特定的用户集,因此应在运行apache的用户下运行。就我而言,www-data。如上所示,显然该文件夹及其所有子文件夹都可以由包含www数据的wwwdatagroup读取,写入(rw)。那么为什么要拒​​绝呢?

帮助...

我盯着错误页面哭了。真正的眼泪。

1 个答案:

答案 0 :(得分:0)

我通过在媒体文件夹上为770设置wwwdatagroup解决了这个问题。我的猜测是Django正在做一些列表(需要x权限)或尝试进行mkdir(这也需要x?我不知道)。

我将继续公开这个问题,并向获得良好解释的人提供公认的答案。谢谢!