Запуск aide --check как задание crontab раз в неделю - PullRequest
0 голосов
/ 30 марта 2020

У меня реальные проблемы с получением простой (aide --check) работы для запуска в качестве задания crontab. Я перепробовал все, что мог придумать, но, похоже, он не работает. Я попытался указать оболочку в crontab:

SHELL=/bin/bash

Я пробовал все варианты командной строки:

*/1 * * * * root /bin/bash /usr/sbin/aide --check
*/1 * * * * /bin/bash /usr/sbin/aide --check
*/1 * * * * root /usr/sbin/aide --check
*/1 * * * * root /bin/bash /usr/sbin/aide --check >> /var/log/SystemFileCheck.log

Плюс другие, но просто не могу получить ее бежать. Я следовал инструкциям онлайн, которые все говорят, что я делаю это правильно. Я попытался поместить его в скрипт bash и запустить его, но не повезло. Что я делаю не так?

Вот некоторые из ошибок, которые я получаю:

30 марта 11:25:01 localhost CROND [14060]: (root) CMD (root / bin / bash / usr / sbin / aide --check >> /var/log/SystemFileCheck.log) 30 марта 11:25:01 localhost CROND [14058]: (root) CMDOUT (/ bin / sh: root: команда не найдена)

30 марта 11:28:01 localhost CROND [14397]: (root) CMD (root /bin/SystemIntegCheck.sh >> /var/log/SystemFileCheck.log) 30 марта 11:28:01 localhost CROND [14395]: (* root) CMDOUT (/ bin / bash: root: команда не найдена)

30 марта 11:39:01 localhost CROND [16094]: (root) CMD (/ bin / bash / usr / sbin / aide --check) 30 марта 11:39:01 localhost CROND [16092] : (root) CMDOUT (/ usr / sbin / aide: / usr / sbin / aide: невозможно выполнить двоичный файл)

Может кто-нибудь пролить свет на это?

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

PS. раз в минуту только для тестирования

1 Ответ

0 голосов
/ 30 марта 2020

Идентификатор пользователя может быть указан только в системном файле crontab. Записи файла crontab пользователя не принимают идентификатор пользователя. Соответствующие записи, по-видимому, находятся в файле crontab пользователя, поэтому вы получаете root: command not found из первой, третьей и четвертой записей.

Со второй вы получаете cannot execute binary file, потому что вы спрашиваете bash выполнить /usr/sbin/aide как bash скрипт, если это не bash скрипт. Вы должны использовать

*/1 * * * * /usr/sbin/aide --check
...