我第一次安装了 nagios 核心和插件,但无法让它与 SElinux 一起工作。审计日志中的错误是,
type=AVC msg=audit(1441480084.865:710): avc: denied { execute } for
pid=5444 comm="httpd" name="statusjson.cgi" dev="dm-1" ino=135240040
scontext=system_u:system_r:httpd_t:s0
tcontext=unconfined_u:object_r:httpd_sys_content_t:s0 tclass=file
系统:Scientific Linux 7
Nagios:4.1.1
我按照说明这里
当 SElinux 处于宽容模式时它可以工作(setenforce 0
)
(对于任何试图弄清楚如何获取错误日志的人来说,SELinux 策略似乎默认不审计 httpd exec 消息。我重建了 SELinux 策略以根据以下说明启用所有审计消息:本文
#semodule --disable_dontaudit --build
并使用查看日志
#sealert -a /var/log/audit/audit.log > auditlog.log
此外,按照 sealert 的建议对我来说不起作用)
答案1
因此,更改 CGI 脚本上的安全上下文似乎httpd_sys_script_exec_t
有效。尽管我不确定这是否是理想的解决方案。
chcon -R -t httpd_sys_script_exec_t /usr/local/nagios/sbin
更多信息:https://fedoraproject.org/wiki/SELinux/apache
请注意,chcon
更改上下文只是暂时的;如果文件系统被重新标记或restorecon
运行,上下文将恢复为默认类型。永久改变上下文, 跑步:
semanage fcontext -a -t httpd_sys_script_exec_t /usr/local/nagios/sbin
restorecon -v /usr/local/nagios/sbin