Logcheck не имеет разрешения на чтение файлов журналов

Я использую logcheck для отслеживания файлов журналов, но вместо получения отчетов по электронной почте я хочу отправить их за пределы с помощью сценария bash.

Итак, я использовал -o:

sudo -u logcheck /usr/sbin/logcheck -o 2>&1 | myscript with curl

, но получаю следующее ошибка:

Ошибка: не удалось запустить журнал или сохранить вывод.

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

Конечно, logcheck не может быть запущен как пользователь root или пользователь с привилегиями root.

Кто-нибудь использует этот пакет и может мне помочь?

Centos 7 с logcheck от epel.

1
задан 17 January 2019 в 07:37
3 ответа

Для использования logcheck без прав root необходимо убедиться, что пользователь logcheck находится в группе adm (как вы уже обнаружили).

Кроме того, в Centos и, возможно, других дистрибутивах на основе Redhat вам необходимо убедиться, что файлы журналов принадлежат группе adm , то есть выполнить chgrp adm на эти файлы журналов и сделать их доступными для чтения группе ( chmod g + r ). Сделав это один раз, logrotate должен воссоздать файлы журналов с тем же владельцем / группой / разрешениями, что и повернутые файлы, чтобы сохранить ваши изменения. Если это не так, убедитесь, что параметр create в /etc/logrotate.conf и /etc/logrotate.d / * не содержит дополнительные параметры, которые переопределяют исходные значения.

1
ответ дан 3 December 2019 в 23:08

В дополнение к ответу, отправленному @wurtel, logcheck необходимо записать файлы .offset . Нам нужно создать их и сделать их доступными для чтения и записи только для пользователя logcheck:

touch /var/log/messages.offset
chmod 600 /var/log/messages.offset
chown logcheck /var/log/messages.offset

touch /var/log/secure.offset
chmod 600 /var/log/secure.offset
chown logcheck /var/log/secure.offset
0
ответ дан 3 December 2019 в 23:08

На самом деле нам не нужно менять владельца каких-либо файлов в /var/log.

Я столкнулся с той же проблемой:

sudo -u logcheck logcheck -o -t
Error: Could not run logtail or save output.

Я попытался предоставить пользователю разрешение logcheck на файлы в каталоге /var/log, используя список доступа, и у меня это сработало.

# setfacl -R -m u:logcheck:rwx /var/log/secure*
# setfacl -R -m u:logcheck:rwx /var/log/messages*
0
ответ дан 18 September 2020 в 04:46

Теги

Похожие вопросы