如何在 Linux 中为 root 设置邮件队列中的读取权限

如何在 Linux 中为 root 设置邮件队列中的读取权限

我正在使用 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)是否存在问题。读取假脱机文件并不是了解其状态的方法。

相关内容