在supervisord中umask设置导致文件和文件夹的权限相同

在supervisord中umask设置导致文件和文件夹的权限相同

我正在使用 supervisord 来处理一些仅运行 django 应用程序的基于 gevent 的 wsgi 进程。

当我上传文件时,我希望它们对用户和组(www-data)具有 rw 权限,当然我希望文件夹对用户和组也具有执行权限。

通常情况下,umask 会从 777 开始用于文件夹,从 666 开始用于文件,但是我发现在主管配置中设置 umask 会导致文件和文件夹的权限相同,因此当我将 umask 设置为 002 时,所有上传的文件都会获得执行权限。我还尝试将 umask 设置为 113,但这样我就无法执行任何文件夹。

我不能 100% 确定这是主管的错误,与 gevent 或 django 无关。有什么想法吗?

答案1

我很快发现 django 就是罪魁祸首。

将 django 应用程序设置中的 FILE_UPLOAD_PERMISSIONS 设置为 0664 后,umask 即可按预期工作。

IE。 在settings.py中:

FILE_UPLOAD_PERMISSIONS = 0664

相关内容