2010-03-25 3 views
0

Я пишу скрипт python, который должен делать запись в журнале всякий раз, когда он вызывается. Журнал, созданный сценарием, не может быть изменен пользователем (кроме root), который вызывал скрипт. Я пробовал модуль syslog, и, хотя это делает именно то, что я хочу с точки зрения прав доступа к файлам, мне нужно уложить полученный файл журнала в произвольное место. Как мне это сделать?Создание журналов только для чтения с помощью python

+1

'man syslog.conf' –

ответ

0

Запустите свой скрипт с помощью setuid root.

+0

Наличие скрипта setuid root, чтобы сделать запись в журнале, определенно НЕ является хорошей идеей. – mgv

+0

Я считаю, что это заставило меня начать в правильном направлении. Как я понимаю, создание двоичного файла оболочки C для скрипта, а затем setuid root на нем более безопасно, не так ли? – Travis

+0

никогда. Когда-либо. скрипты setuid. – hop

1

Я вижу, что вы на Linux,

В зависимости от файловой системы вы используете, вы можете быть в состоянии использовать команду chattr. Вы можете создавать файлы, которые добавляются только путем установки атрибута a