如何传递密码值字符串包含!在 nagios 命令中用于监视目的
How to pass password value string contains ! in nagios command for monitoring purpose
在 nagios cfg 中,如果我想将多个参数传递给命令,值由 !
分隔
我的问题是我试图传递给 nagios cfg 文件的密码包含 !,这导致 nagios 认为它是一个分隔符。
有没有其他方法可以更改分隔符或从字面上更改 !在密码字符串中?
例如
define service{
use generic-service
host_name 10.62.85.10
service_description ESXi Hardware Check
check_command check_esxi_hardware!root!Password123!!auto
}
nagios 认为 $ARG1$
是 root $ARG2$
是 Password123 而 $ARG3$
是 null
其实我要传递的值是
$ARG1$
是root $ARG2$
是Password123! $ARG3$
是自动
首先,您应该使用 Nagios 用户宏来存储密码等敏感信息。请查看您的 Nagios private/resource.cfg
文件以获取更多信息。
Nagios 使用 !
分隔配置中的输入参数。这一切都很好,直到您需要在其中一个变量中使用 !
或 $
。此时需要对特殊字符进行转义。
您使用反斜杠“\
”为 Nagios 配置文件中的 !
和 $
字符执行此操作。
在 nagios cfg 中,如果我想将多个参数传递给命令,值由 !
分隔我的问题是我试图传递给 nagios cfg 文件的密码包含 !,这导致 nagios 认为它是一个分隔符。 有没有其他方法可以更改分隔符或从字面上更改 !在密码字符串中? 例如
define service{
use generic-service
host_name 10.62.85.10
service_description ESXi Hardware Check
check_command check_esxi_hardware!root!Password123!!auto
}
nagios 认为 $ARG1$
是 root $ARG2$
是 Password123 而 $ARG3$
是 null
其实我要传递的值是
$ARG1$
是root $ARG2$
是Password123! $ARG3$
是自动
首先,您应该使用 Nagios 用户宏来存储密码等敏感信息。请查看您的 Nagios private/resource.cfg
文件以获取更多信息。
Nagios 使用 !
分隔配置中的输入参数。这一切都很好,直到您需要在其中一个变量中使用 !
或 $
。此时需要对特殊字符进行转义。
您使用反斜杠“\
”为 Nagios 配置文件中的 !
和 $
字符执行此操作。