【问题标题】:Django uploading file - permission deniedDjango上传文件 - 权限被拒绝
【发布时间】:2014-12-06 19:38:50
【问题描述】:

我已经尝试了我发现的有关此问题的所有方法,但没有任何方法可以帮助我解决此问题。

当我尝试在我的网站上上传内容时,我收到了这个错误:

OSError: [Errno 13] Permission denied: '/home/****/www/site.com/media/news/some_file.pdf'

ls -l media 给我下一个:

drwxrwxr-x 2 www-data www-data 4096 Oct 11 23:13 news

所以权限没问题。

在开发服务器上一切正常,但现在在生产中我无法上传任何东西。

如何解决这个问题?

【问题讨论】:

  • 当你su作为www-data时,你可以在这个文件夹里写吗?
  • 您的 django 实例是否在 www-data 下运行?
  • 我不知道如何检查。我正在使用腻子,我可以以“root”身份和一个只能看到 www 文件夹及其子文件夹的用户身份登录我的服务器。我不知道如何以 www-data 用户身份登录,所以我可以查看您的建议。
  • 好的,我明白了! su - www-data 然后我在媒体文件夹中尝试了date > date.txt 并创建了文件,因此 www-data 用户可以在媒体文件夹中写入。但我不知道如何检查 django 是否在 www-data 下运行?

标签: django apache file-upload


【解决方案1】:

作为 linux/apache 的菜鸟,我不知道 CentOS 中 apache 的默认用户(我在我的服务器上运行)是 apache 而不是 www-data。

所以chown -R apache:apache media 成功了。

在过去的几天里,我搜索了很多关于这个问题的主题,但没有一个提到除了 www-data 之外还有其他默认用户。看起来大多数用户都在运行 Ubuntu,因为每个人都在谈论 www-data。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-11
    • 2010-12-13
    • 2011-10-18
    相关资源
    最近更新 更多