如何匹配selinux规则/ transitions / labels / etc到模块

我需要匹配运行/加载的selinux规则/ transitions / labels / etc到定义它们的selinux策略模块(semodules -l)。 我需要这个,因为我想在上下文中学习一些selinux策略模块,我需要知道应该检查哪些模块。

有没有更简单的方法来做到这一点比下载所有selinux相关的“src”包,筛选出未使用的模块,并grep结果文件的信息?

显然,没有办法做到这一点。 这可能与机器正在使用的策略是从仅存在于源代码中的模块编译的事实有关:

# file /etc/selinux/default/policy/policy.26 /etc/selinux/default/policy/policy.26: SE Linux policy v26 MLS 8 symbols 7 ocons # file -i /etc/selinux/default/policy/policy.26 /etc/selinux/default/policy/policy.26: application/octet-stream; charset=binary 

什么模块的细节包括在编译步骤之后丢失什么规则。

然而,考虑到你想研究一些 SELinux策略模块(如在某些特定的模块中 ),你可以换一种方式,

  1. 为您的发行版安装refpolicy包。 它包含源代码(是的,不是你要求的,但可能是最简单的方法)

  2. 从编译的策略包文件中提取所有信息。 您可以在/etc/selinux/$policy/modules/active/modules/*ppfind这些文件。 关于如何反编译模块的一个非常详细的解释已经发布在这里 。