【问题标题】:Nginx/Django File Upload PermissionsNginx/Django 文件上传权限
【发布时间】:2017-11-18 03:25:29
【问题描述】:

今天我注意到,每当我通过我的 Django 站点上传文件时,文件都会以文件权限 0600 上传,这意味着每当非 root 用户想要查看文件 (nginx) 时,都会显示 403。

据我所知,这只是今天才开始发生的。我已经检查了 Django 设置文件中的 file_upload_permissions 和 file_upload_directory_permissions,它们都设置为 0644。

我最近没有进行任何 Linux/Django 更新,所以这不应该是原因,非常感谢任何帮助。

谢谢,

山姆

【问题讨论】:

    标签: python linux django nginx file-permissions


    【解决方案1】:

    如果您最近切换到 Python 3,请查看 here 以获取 Python 3 中八进制文字的引用。按以下方式更改设置应该可以解决此问题:

    FILE_UPLOAD_PERMISSIONS = 0o644
    

    This 也有助于编写兼容 Python 2-3 的代码。

    【讨论】:

    • 对不起,我在整个项目中只使用了 Python 3。我会尝试添加“o”,看看是否有帮助,谢谢你的建议。
    • 我明白了,你试过了吗?只是要求让读者更清楚。
    • 成功了!!!非常感谢,谁知道一个简单的 'o' 会产生如此大的不同哈哈
    • @ArtemBernatskyi,正如他们的文档中所述,Django 旨在与不同版本的 Python 兼容。因此,假设您使用的是 Python 2.7,则可以使用 0o644 或 0644,但如果底层 Python 安装是版本 3,则必须使用 0o644。无论如何,使用新的表示是最安全的,因此强烈推荐。我希望这会有所帮助。
    • 点赞!!伟大的。这真的很有帮助。我花了一整天的时间才找到解决方案。
    猜你喜欢
    • 2014-10-20
    • 2010-10-11
    • 2018-10-14
    • 2014-12-06
    • 1970-01-01
    • 2011-10-06
    • 1970-01-01
    • 2011-03-29
    • 1970-01-01
    相关资源
    最近更新 更多