2016-07-18 10 views
0

Моя Django приложение с помощью Apache создает файлы журнала: Log.TxtApache создает файл: как управлять разрешениями

Владелец и группа этого файла «WWW-данные»

owner rwx 
group r 
all r 

Мой питон приложение не имеет прав на чтение и запись в этот файл журнала. Но мне нужно приложение python, чтобы иметь эти разрешения.

Теперь легко изменить права доступа вручную, но мне нужен файл, чтобы иметь правильные разрешения при его создании. Как я могу это сделать?

my goal: 
add python user to group www-date (what is the name of the python user?) 
and then: 
Owner rwx 
Group rwx 
all r 
+0

вы можете запустить python-приложение с привилегиями пользователя www-data, таким образом, вы сможете работать с файлами, принадлежащими www-data. ex, 'sudo -Hu www-data/path/to/your/app' – frist

+0

Насколько я понимаю из вашего комментария, нет пользователя python. Пользователь всегда вызывает сценарий python. – caliph

+0

решил использовать umask 002 в/etc/apache2/envvars – caliph

ответ

0

Вы можете использовать os.chmod() для управления разрешениями данного файла, после создания файла можно выполнить:

os.chmod("/path/to/file", 0o775) 

Первый аргумент является путь, а второй аргумент флаг для разрешения Вы также можете получить доступ к флагам с модуля stat.

+0

К сожалению, я могу сделать это только в том случае, если я модифицирую исходный код модуля журнала python. Из-за того, что приложение не знает, когда создается новый файл регистрации (версии с вращающимися файлами). – caliph

 Смежные вопросы

  • Нет связанных вопросов^_^