尝试从Apache2中删除不在/ var / www中的文件

时间:2017-05-19 07:18:04

标签: apache apache2

我是apache2的新用户,并且在我的网站功能方面遇到了许可问题。

django正在运行apache2,我的django项目在网站上有DELETE功能,后端会从/ Project / results中删除一个文件夹。以下是我的python函数,当我在django Web开发服务器上运行它时按预期工作,但当我通过'Exception: ', OSError(13, 'Permission denied')运行时抛出错误apache2

def delPrevGraph(request):
    delId = request.GET["delId"]    
    try:
        print("Path deleting: /Project/results/",delId)
        shutil.rmtree("/Project/results/"+delId)
    except Exception as e:
        print("Exception: ",e)          
    args={}
    return HttpResponse(json.dumps(args))

results的权限和所有者直接如下,

drwxr-xr-x 52 www-data www-data 4096 May 19 06:41 results

results目录中的所有文件夹都归root所有。只是为了检查我确实尝试chown并给予如下所示的权限,但没有显示差异。

chown www-data:www-data deleteID
chmod 755 deleteID

此外,我尝试在default-ssl.conf文件中添加以下内容,并尝试重新启动apache2并从网站中删除。仍然没有区别。

<Directory /Project/results/>
        Require all granted
</Directory>

我无法更改此目录的位置并将其放在/var/www

有没有办法完成这项工作?我暂时坚持这个问题并且非常感谢一些帮助。

1 个答案:

答案 0 :(得分:0)

我正在阅读shutil文档。在警告框中,他们建议我们不要在POSIX(linux)系统上使用复制功能。也许您的问题与POSIX错误有关,请尝试使用基本的I / O文件函数。