Linux: Как обеспечить определенные разрешения для вновь создаваемых журналов, которые создаются журналом поворота?


15

Я заметил, что создаваемые почтовые журналы /var/logсоздаются и принадлежат пользователю root (пользователю и группе). Я написал проверку Nagios, которая следит за журналом, и чтобы пользователь Nagios мог получить к нему доступ, я дал otherгруппе разрешение на чтение, а именно:

chmod o+r /var/log/maillog

Теперь, когда я думаю об этом, это только один файл журнала, когда файл журнала будет заполнен, механизм поворота журнала переименует этот файл и откроет новый, но новый maillogфайл не будет иметь тот, read writeкоторый я разрешил.

Итак, мой вопрос: как я могу убедиться, что механизм поворота журнала создаст все новые файлы mailllog с правами доступа для пользователя Nagios?

заранее спасибо

Ответы:


21

logrotateимеет createопцию:

create mode owner group

Сразу после поворота (перед запуском сценария поворота) создается файл журнала (с тем же именем, что и файл журнала, только что повернутый). modeзадает режим для файла журнала в восьмеричном виде (такой же, как chmod (2)), владелец указывает имя пользователя, которому будет принадлежать файл журнала, а группа указывает группу, к которой будет принадлежать файл журнала. Любой из атрибутов файла журнала может быть опущен, и в этом случае эти атрибуты для нового файла будут использовать те же значения, что и исходный файл журнала для пропущенных атрибутов. Эта опция может быть отключена с помощью опции nocreate.

Больше информации с man logrotate.

Используйте это так:

/var/log/maillog {
....
        create 664 user group
....
}

либо в /etc/logrotate.confотдельном файле, либо в нем, /etc/logrotate.dи проверьте, не переопределяет ли этот файл другой файл. То, как это настроено, зависит от вашей ОС (например, в Ubuntu, это обрабатывается в rsyslogконфигурации).


Как я могу настроить, чтобы только /var/log/maillogбудущие файлы журналов создавались с желаемыми разрешениями пользователя без изменения каких-либо настроек по умолчанию, которые уже применены к почтовому журналу?
Итай Ганот

Смотрите мое редактировать и читать man logrotate(и посмотреть /etc/logrotate.confи /etc/logrotate.dмного примеров).
Свен

2
@ItaiGanot Вам также следует исправить конфигурацию системного журнала, чтобы он создавал файл с соответствующими разрешениями вместо того, чтобы выполнять исходный chmod.
Дженни Д

@JennyD, спасибо, что означает, что я должен удалить /var/log/maillogстроку, /etc/logrotate.d/syslogчтобы настройки в /etc/logrotate.conf?
Итай Ганот

2
@ItaiGanot Нет! Это означает, что вы должны выяснить, какую программу syslog вы используете (возможно, либо ), syslog-ngлибо rsyslogизменить ее конфигурацию. Это необходимо, потому что когда ваша система перезагружается или ваша программа syslog перезапускается по какой-либо другой причине, она может заново создать файл с неверным разрешением.
Дженни Д
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.