Monit 权限测试比较

Monit 权限测试比较

我正在尝试使用 Monit 检查特定目录的权限,但我只关心它是否可供所有用户读取。我不关心所有者、组或所有人的任何其他权限(写入、执行)。我也不关心任何特殊权限。

知道我无法更改此目录的权限,并且另一个管理员可能会更改这些权限,而不会影响依赖此目录的进程(即授予或撤销对该组的写访问权限),是否可以检查最低限度Monit 中的权限?

我有这个,目前正在工作:

check directory archive path /var/home/archive/
    if failed perm 0755 then alert

但我想要类似的东西:

check directory archive path /var/home/archive/
    if failed perm > 444 then alert

这对我来说是失败的。是否可以在 Monit 的权限检查中使用比较运算符?如果不行,有什么解决方法吗?

答案1

您可以用运行程序并检查其退出状态来替代这种类型的检查。

来自 monit 手册:(注意:myscript.sh 必须至少具有 555 权限)。

“ 一个例子:

 check program myscript with path "/usr/local/bin/myscript.sh" with timeout 1000 seconds
       if status != 0 then alert

上述示例的示例脚本(/usr/local/bin/myscript.sh):

 #!/bin/bash
 echo test
 exit $?

您可以构建一个程序来执行您想要的检查(考虑使用 find 命令),甚至可以使用 find 命令作为特定的 monit 程序。您甚至可以自定义退出状态,以便不同的退出代码代表不同的含义。

相关内容