我正在使用 nagios 来读取文件,/var/spool/mail/root
因为我的电子邮件中有一些错误,然后我知道问题是什么。
我已将所有权设置为root:nagios
。
但任何时候,当 root 写入该文件时,它都会将权限更改回rw-------
我必须手动更改它,但 root 又将其改回来
我应该怎么办
答案1
如果我理解正确的话,您会收到来自某个自动化系统的电子邮件,这些电子邮件会发送到 root 的本地缓冲池,警告您其他子系统(电子邮件身份验证)存在错误,并且您希望 NAGIOS 能够查找这些错误。想必您已经拥有或编写了一些 NAGIOS 插件,用于检查 root 的电子邮件缓冲池是否存在这些错误;我们称之为check_root_mbox
。
问题在于确保插件具有读取邮箱文件的正确权限,您一直试图通过调整 root 邮件假脱机文件的所有权来实现这一点。这可能不是最好的方法。
您要么需要在 下运行插件sudo
,要么需要修改生成这些错误的原始作业,以便回复到达 以外的其他地方root@localhost
。后者超出了此答案的范围,因为您没有告诉我们有关生成这些退回的作业的任何信息。
如果选择前者,则有两个步骤;在 sudo 下运行插件,并让 sudo 允许它。
要完成第一部分,如果你在 NRPE 下运行,请输入如下几行
command[check_root_mbox]=sudo /usr/lib/nagios/plugins/check_root_mbox
在您的 中nrpe.cfg
,相应地调整路径。如果您在系统本身上运行 NAGIOS,请输入check_command
如下内容
define command{
command_name check_root_mbox
command_line /usr/bin/sudo $USER1$/check_root_mbox
}
在你的配置中,并使用它。然后对于第二部分,输入如下一行
nagios ALL=(root) NOPASSWD: /usr/lib/nagios/plugins/check_root_mbox
在您的sudoers
文件中,再次相应地调整路径。
答案2
不要尝试这种方式。您的 SMTP 服务器(无论您使用哪种)都有诊断命令,可以告诉您(和 nagios)是否存在问题。读取假脱机文件并不是了解其状态的方法。