我在 Redhat Enterprise Linux 8 上有一个以 unconfined_service_t SELinux 类型运行的守护进程:
# ps -eZ | grep savd
system_u:system_r:unconfined_service_t:s0 693 ? 00:00:00 savd
它正在尝试使用 insmod 加载 Linux 内核模块。
SELinux(处于强制模式)正在阻止它:
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
我尝试设置 domain_kernel_load_modules 以允许所有域加载内核模块:
setsebool -P domain_kernel_load_modules 1
以防万一我误解了,我也尝试0
过,然后重新启动,但是加载内核模块被阻止了。
audit2allow 建议为它创建一个规则,但我认为 domain_kernel_load_modules 将允许所有进程加载内核模块,所以我不明白为什么它不起作用?
我可以在不创建额外策略的情况下获得不受限制的服务来加载内核模块吗?
如果重要的话,它是一个 AWS 实例虚拟机。