如何传递密码值字符串包含!在nagios命令中用于监视目的

时间:2017-11-23 04:46:21

标签: string nagios

在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$是自动

1 个答案:

答案 0 :(得分:1)

首先,您应该使用Nagios用户宏来存储密码等商店敏感信息。只需查看Nagios private/resource.cfg文件即可获取更多信息。

Nagios使用!分隔配置中的输入参数。在您需要在其中一个变量中使用!$之前,这一切都很好。此时你需要逃避特殊角色。

您使用反斜杠“\”为Nagios配置文件中的!$字符执行此操作。