Nginx/Django 文件上传权限
Posted
技术标签:
【中文标题】Nginx/Django 文件上传权限【英文标题】:Nginx/Django File Upload Permissions 【发布时间】:2017-11-18 03:25:29 【问题描述】:今天我注意到,每当我通过我的 Django 站点上传文件时,文件都会以文件权限 0600 上传,这意味着每当非 root 用户想要查看文件 (nginx) 时,都会显示 403。
据我所知,这只是今天才开始发生的。我已经检查了 Django 设置文件中的 file_upload_permissions 和 file_upload_directory_permissions,它们都设置为 0644。
我最近没有进行任何 Linux/Django 更新,所以这不应该是原因,非常感谢任何帮助。
谢谢,
山姆
【问题讨论】:
【参考方案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。无论如何,使用新的表示是最安全的,因此强烈推荐。我希望这会有所帮助。 点赞!!伟大的。这真的很有帮助。我花了一整天的时间才找到解决方案。以上是关于Nginx/Django 文件上传权限的主要内容,如果未能解决你的问题,请参考以下文章