由于 SELinux,无法执行 Zabbix 外部检查

Zabbix external checks cannot be executed due to SELinux

我尝试在 Zabbix 2.2 中实施外部检查。我已经为 SSL 验证创建了简单的 bash 脚本,它应该由 zabbix 服务执行。该脚本位于 /var/lib/zabbixsrv/externalchecks 目录中。即使 .sh 脚本有 777 权限,我仍然收到消息告诉

unable to execute /var/lib/zabbixsrv/externalscripts/test.sh: Permission denied

当我以 root 身份尝试 运行 命令时,我收到了相同的消息。 ls -Z /var/lib/zabbixsrv/externalscripts/test.sh 命令输出显示:

-rwxrwxrwx. zabbixsrv zabbixsrv unconfined_u:object_r:default_t:s0 /var/lib/zabbixsrv/externalscripts/test.sh

/var/log/massages 中没有相关消息。有人知道如何强制 selinux 允许在不禁用 selinux 的情况下执行 zabbixsrv 用户脚本吗?

哪个zabbix服务(zabbix-server, zabbix-agent, ...)应该执行外部检查脚本?

您是否尝试在 /etc/zabbix/zabbix_agentd.conf 中设置 AllowRoot=1

主要问题出在 /etc/fstab 配置文件中。 Zabbix 已将脚本 /var/lib/zabbixsrv/excernalscripts 目录定义为默认值。我的服务器安装了 /var rwnoexec 权限。

我已经将脚本移动到不同的位置并相应地更改了配置文件。现在检查工作正常。

感谢大家对此主题的贡献。