我尝试用nging / munin隔离SELinux问题。 我在“/var/log/nging/error.log”中看到了这个错误信息:
[crit] 8802#0:* 55连接()到unix:/var/run/munin/fcgi-html.sock失败(13:权限被拒绝)连接上游时,客户端:1.2.3.5,server:,request: “GET / munin / HTTP / 1.1”,上游:“fastcgi:// unix:/var/run/munin/fcgi-html.sock:”,主机:“1.2.3.4”
然后我试着audit2allow来修复selinux权限:
# cat /var/log/audit/audit.log | audit2allow -M nginx-munin-socket # semodule -i nginx-munin-socket
audit.log消息消失了,但nginx套接字错误总是在那里。 当我使用“setenforce 0”,那么我没有nginx套接字错误消息。 所以我相信我的问题绝对是selinux。 但是我现在不知道如何隔离这个问题!?
nginx的,穆宁,socket.te
module nginx-munin-socket 1.0; require { type httpd_t; type init_t; type munin_var_run_t; class sock_file write; class unix_stream_socket connectto; } #============= httpd_t ============== allow httpd_t init_t:unix_stream_socket connectto; allow httpd_t munin_var_run_t:sock_file write;
我find了解决scheme – >我知道我需要禁用“dontaudit”查看所有audit.log条目…
semodule --disable_dontaudit --build
所以,我能够创build一个工作的SELinux模块!