我需要将运行/加载的 selinux 规则/转换/标签/等与定义它们的 selinux 策略模块相匹配(semodules -l)。我需要这个,因为我想在上下文中研究一些 selinux 策略模块,并且我需要知道我应该检查哪些。
有没有比下载所有与 selinux 相关的“src”包、过滤掉未使用的模块并 grep 生成的文件以获取该信息更简单的方法?
我需要将运行/加载的 selinux 规则/转换/标签/等与定义它们的 selinux 策略模块相匹配(semodules -l)。我需要这个,因为我想在上下文中研究一些 selinux 策略模块,并且我需要知道我应该检查哪些。
有没有比下载所有与 selinux 相关的“src”包、过滤掉未使用的模块并 grep 生成的文件以获取该信息更简单的方法?
显然,没有办法做到这一点。这可能与机器使用的策略是从模块编译的事实有关,这些模块仅存在于源代码中:
编译步骤后丢失了哪些模块的详细信息。
但是,鉴于您想研究一些SELinux 策略模块(如在某些特定模块中),您可以反过来做,或者:
为您的发行版安装
refpolicy
软件包。它包含源代码(是的,不是您要求的,但可能是最简单的方法)从已编译的策略包文件中提取所有信息。您可以在
/etc/selinux/$policy/modules/active/modules/*pp
. 关于如何反编译模块的非常详细的解释已经发布在这里。