我是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
。
有没有办法完成这项工作?我暂时坚持这个问题并且非常感谢一些帮助。
答案 0 :(得分:0)
我正在阅读shutil文档。在警告框中,他们建议我们不要在POSIX(linux)系统上使用复制功能。也许您的问题与POSIX错误有关,请尝试使用基本的I / O文件函数。