Владелец не может записать файл журнала

Владелец не может записать файл журнала

Я работаю над скриптом Python, я создал файл в папке /var/log/ с правами доступа 664.

Скрипт Python не может записывать логи в созданный файл. Не знаю почему... поскольку владельцем файла является Ubuntu (пользователь aws по умолчанию).

Я очень осторожно дал разрешение на чтение и запись для файла

Запланированный crontab не смог запустить приложение из-за проблемы с отказом в доступе. Есть идеи?

i) команда, которую вы использовали для настройки crontab - crontab -e ii) строка crontab, которая запускает скрипт python - */30 * * * * python3 /home/ubuntu/message_initiator.py iii) точное сообщение об ошибке -Permission denied: '/var/log/ice-message-initiator.log'

решение1

Если вы бежите

ll -d /var/log

Затем вы увидите, что он принадлежит root(возможно, syslogкак группа) и имеет разрешения 755 или 775, что означает, что в то время как другие могут читать и перемещаться по каталогу, только root(и, возможно syslog, ) может изменять его. ice-message-initiator.logнаходится в /var/logи в то время как ubuntuявляется его владельцем, ubuntuне имеет разрешений на изменение, /var/logчто означает, что он не может изменять его содержимое, будь то файлы или каталоги. Ошибка возникает не потому, что ubuntuпользователь не может прочитать файл, а потому, что он не может записать в файл из-за отсутствия разрешений на изменение его родительского каталога, /var/log.

Чтобы задание cron работало, вам нужно либо запустить его как , rootлибо заставить его записать файл журнала в подкаталог, например , /var/log/iceи предоставить ubuntuему права на изменение.

Связанный контент