Nagios 是一个 IT 基础设施监控系统。我正在为它编写一个简单的插件脚本。已为其创建了一个特殊帐户 nagios,该脚本由 Nagios 在该帐户下运行。
出于调试目的,脚本非常简单:
#!/bin/bash
echo "OK - Running okay" ~ `id`
它回显 的值~,即主目录,以及id命令的结果。
我登录到 nagios 帐户 ( su -l nagios),并从命令行对其进行测试:
OK - Running okay /home/nagios uid=1005(nagios) gid=1007(nagios) groups=1007(nagios),1008(nagcmd)
这正是我所期望的。
我从 Nagios 系统中运行它,报告的结果是:
OK - Running okay /home/julian uid=1005(nagios) gid=1007(nagios) groups=1007(nagios),1008(nagcmd)
等等,/home/julian是我帐户的主目录;但它已登录到 nagios 帐户。这种矛盾对我来说毫无意义;我显然不明白这是如何工作的。
有什么建议会发生这种情况吗?