我做testing驱动的开发,所有的API都用一批testing来testing。 最初,我在selinux中以“宽容”模式运行testing。 所以,我决定启用selinux来“执行”模式。 很明显,我开始在audit.log中获得AVC否认,一半的testing失败了。 所以,我使用audit2allow为audit.log中的所有失败的东西(很多拒绝)创build一个模块,并且使用semodule -i将新模块合并到内核中。 然而,有一些testing在许可模式下仍然失败,但是它不会写出audit.log或messages文件有什么问题,所以我无法解决这个问题。 当我将服务器置于“宽容”模式时,“强制执行”模式下失败的testing现在完美无缺。 我如何去解决这个问题?
您需要禁用dontaudit规则。 你可以使用semanage(8)来做到这semanage(8) 。
从手册:
Disable/Enable dontaudit rules in policy semanage dontaudit [-S store] [ on | off ]
你也可以重build整个政策,而不需要遵守规则,但这可能不是你想要的。 这个过程在Fedora文档中有详细的解释,并在semodule(8)页中提到。
您也可以使用sesearch(1)在特定模块中searchdontaudit