在nagios cfg中,如果我想将多个参数传递给命令,则该值将被分隔!
我的问题是我试图传递给nagios cfg文件的密码包含!,这导致nagios认为它是分隔符的问题。 是否有任何其他方式来改变分离器或字面改变意义!在密码字符串? e.g。
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$
是自动
答案 0 :(得分:1)
首先,您应该使用Nagios用户宏来存储密码等商店敏感信息。只需查看Nagios private/resource.cfg
文件即可获取更多信息。
Nagios使用!
分隔配置中的输入参数。在您需要在其中一个变量中使用!
或$
之前,这一切都很好。此时你需要逃避特殊角色。
您使用反斜杠“\
”为Nagios配置文件中的!
和$
字符执行此操作。