Я пытаюсь изолировать проблему SELinux с помощью nging / munin. Я вижу это сообщение об ошибке в "/var/log/nging/error.log":
[критический] 8802 # 0: * 55 connect () к unix: /var/run/munin/fcgi-html.sock не удалось (13: разрешение отказано) при подключении к восходящему потоку, клиент: 1.2.3.5, сервер:, запрос: «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-munin-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;
Я нашел решение -> я узнал, что мне нужно отключить "dontaudit", чтобы увидеть все записи audit.log ...
semodule --disable_dontaudit --build
Таким образом, я смог создать работающий модуль SELinux!