Eu tenho um daemon rodando como unconfined_service_t tipo SELinux, no Redhat Enterprise Linux 8:
# ps -eZ | grep savd
system_u:system_r:unconfined_service_t:s0 693 ? 00:00:00 savd
Ele está tentando carregar um módulo do kernel Linux usando insmod.
O SELinux (no modo de imposição) está bloqueando:
type=AVC msg=audit(1566572669.301:24): avc: denied { module_load } for pid=815 comm="insmod" path="/opt/sophos-av/talpa/current/talpa_syscallhook.ko" dev="xvda2" ino=48087622 scontext=system_u:system_r:unconfined_service_t:s0 tcontext=system_u:object_r:usr_t:s0 tclass=system permissive=0
Eu tentei definir domain_kernel_load_modules para permitir que todos os domínios carreguem módulos do kernel:
setsebool -P domain_kernel_load_modules 1
Apenas no caso de eu ter entendido mal, tentei 0
também e reiniciei, mas o carregamento dos módulos do kernel foi bloqueado de qualquer maneira.
audit2allow sugere criar uma regra para isso, mas pensei que domain_kernel_load_modules permitiria que todos os processos carregassem módulos do kernel, então não entendo por que não está funcionando?
Posso obter serviços não confinados para poder carregar módulos do kernel sem criar uma política adicional?
A é uma VM de instância da AWS, se isso for importante.