检查 cronjobs 的更改

nit*_*ins 4 linux scheduled-task cron

有什么方法可以检查并通知有人是否对 Linux 服务器上的特定用户的 cronjobs 进行了更改/添加?

是否也可以知道所做的更改?

Suk*_*uku 5

[user@user-ld ~]$ sudo tail /var/log/cron | grep RELOAD
Jan  3 00:19:01 user-ld crond[3074]: (user) RELOAD (/var/spool/cron/user)
Run Code Online (Sandbox Code Playgroud)

grep for ' RELOAD' 在 cron 日志 ( /var/log/cron) 中。因此,如果有人编辑/添加 cron 作业,您可以在 cron 日志中看到上述内容。

为此日志文件编写一个监控脚本,并使用该脚本向您的电子邮件 ID 发送警报。

如果您愿意,可以使用以下脚本来监视特定用户的 cron 条目:

#!/bin/bash
echo 'YOURPASSWORD_SUDO' | sudo -S crontab -l -u user > current_status_`date +"%m%d%y%s"`
diff <(cat `ls -1tr current_status_*| tail -1`) <(cat `ls -1tr current_status_* | tail -2 | head -1`)
if [[ $? == 0 ]] ; then 
    echo "no change in cron"
else
    echo "cron changed"
fi
Run Code Online (Sandbox Code Playgroud)

  • 除非您知道自己在做什么以及如何保证密码安全,否则请勿将密码存储在文件中。 (3认同)