我目前正在使用奥塞克监视我的服务器的文件变化。
我看到 Monit 也有文件更改警报,但我不知道如何配置它。我尝试搜索但找不到示例配置。
您能否给出一个 monit 的示例配置,以监控是否有任何更改
- /ETC
- /var/www
- /垃圾桶
- /sbin
还有没有办法让 monit 忽略更改.php和.js文件?
谢谢
答案1
要检查文件(例如 sshd_config)的校验和,您可以使用:
check file sshd_bin with path /usr/sbin/sshd
include /etc/monit/templates/rootbin
在 /etc/monit/templates/rootbin 中定义:
if changed checksum then alert
我还没有对整个目录进行测试,但你可以尝试一下。
答案2
使用 cron 运行的小脚本
#!/bin/bash
ulimit -t 20
checkdir="/bin /sbin"
filedb="/var/tmp/permsecdb"
email="[email protected]"
out=$(
exec 2>&1
umask 266
find $checkdir -type f -printf "%m\t" -exec md5sum {} \; >$filedb.tmp
diff $filedb $filedb.tmp
mv -f $filedb.tmp $filedb
)
if [ "$out" ];then
(date; echo; echo "$out") | mail -s "Change permsec `hostname`" $email fi
脚本创建 md5 库,并在下次调用时进行比较
作者: https://kmsvsr.ru/2014/04/09/monitoring-izmenenij-fajlov-v-linux/