我进行测试驱动开发,其中我的所有 API 都通过一批测试进行测试。最初,我在 selinux 中以“宽容”模式运行测试。因此,我决定将 selinux 启用为“强制”模式。显然,我开始在 audit.log 中收到 AVC 拒绝,并且一半的测试都失败了。因此,我使用 audit2allow 为 audit.log 中的所有失败内容(许多拒绝)创建一个模块,并执行 semodule –i 将新模块合并到内核中。但是,在宽容模式下仍有一些测试失败,但它没有将错误写入 audit.log 或消息文件,因此我不知道如何修复它。当我将服务器置于“宽容”模式时,“强制”模式下失败的测试现在可以完美运行。我该如何解决此问题?
答案1
您需要禁用dontaudit
规则。您可以使用 来执行此操作semanage(8)
。
来自手册页:
Disable/Enable dontaudit rules in policy
semanage dontaudit [-S store] [ on | off ]
您也可以重建整个策略而不使用 dontaudit 规则,但这可能不是您想要的。该过程在Fedora文档,并在semodule(8)
手册页中提及。
dontaudit
您还可以使用以下方法在特定模块中搜索sesearch(1)