如何修改audit2allow生成的.te文件并重新编译成.pp文件

Mic*_*Sun 5 policy compilation selinux

我使用以下命令生成策略文件:

ausearch  -ts today |audit2allow -M sample
Run Code Online (Sandbox Code Playgroud)

它将生成两个文件:sample.te 和 sample.pp

sampel.te 包含以下几行:

allow container_t unlabeled_t:dir { add_name create remove_name rename write };
Run Code Online (Sandbox Code Playgroud)

我想编辑此行以添加“读取”权限:

allow container_t unlabeled_t:dir { add_name create remove_name rename write read};
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将 .te 文件编译成 .pp 文件,以便我可以应用它(稍后在其他节点中也使用)

seb*_*sth 9

audit2allow 手册页解释了如何编译模块。如果不使用引用策略宏,可以直接使用checkmodule(SELinux 策略编译器)和semodule_package(打包器):

checkmodule -M -m -o sample.mod sample.te
semodule_package -o sample.pp -m sample.mod
Run Code Online (Sandbox Code Playgroud)

如果您的策略文件中有引用策略宏(用于audit2allow 的-R选项或修改中添加的宏),则需要安装策略开发文件(selinux-policy-dev包)并使用提供的 makefile:

make -f /usr/share/selinux/devel/Makefile sample.pp
Run Code Online (Sandbox Code Playgroud)