我正在检查 monit 配置文件,但似乎有些不对劲。我正在使用 monit 来监控 sshd 二进制文件的校验和,如果它与预期的不同,它应该重新加载已知的二进制文件。以下部分是否正确检查了 ssh 二进制文件的校验和?monit 守护进程将当前校验和与什么进行比较?在文件中我没有看到任何其他提及校验和或检查校验和的外部工具。
check process ssh
with pidfile "/var/run/sshd.pid"
start program = "/sbin/service sshd start"
stop program = "/sbin/service sshd stop"
depends on sshd_binary
check file sshd_binary
with path /usr/sbin/sshd
if failed checksum then alert
答案1
要检查文件是否有任何更改,请使用:
IF CHANGED [MD5|SHA1] CHECKSUM THEN action
或者,如果您已经计算了文件的校验和,则您希望它是静态的:
IF FAILED [MD5|SHA1] CHECKSUM [EXPECT checksum] THEN action
EXPECT 指令是可选的。如果您未指定预期校验和,则它会使用监控开始时的文件校验和。
有关更多详细信息,请查看 monit 的文档: https://mmonit.com/monit/documentation/monit.html#FILE-CHECKSUM-TESTING