Назад | Перейти на главную страницу

В супервизоре настройка umask приводит к одинаковым разрешениям для файлов и папок

Я использую supervisord для обработки некоторых процессов wsgi на основе gevent, которые просто запускают приложение django.

Когда я загружаю файлы, я хочу, чтобы у них были разрешения rw для пользователя и группы (www-data), и, конечно же, я хочу, чтобы папки имели разрешения на выполнение для пользователя и группы.

Обычно umask вычитается из 777 для папок, но из 666 для файлов, однако я обнаружил, что установка umask в конфигурации супервизора приводит к тем же разрешениям для файлов и папок, поэтому, когда я устанавливаю umask на 002, все загруженные файлы получают разрешения на выполнение . Я также попытался установить umask на 113, но тогда я не могу запускать никакие папки.

Я не уверен на 100%, что это ошибка супервизоров, а не gevent или django. Любые идеи?

Я сразу обнаружил, что виноват django.

После установки FILE_UPLOAD_PERMISSIONS в настройках приложений django на 0664 umask работает должным образом.

т.е. в settings.py:

FILE_UPLOAD_PERMISSIONS = 0664