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

How to modify the .te file generated by audit2allow and recompile it into .pp file

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

ausearch  -ts today |audit2allow -M sample

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

sampel.te 包含以下行:

allow container_t unlabeled_t:dir { add_name create remove_name rename write };

我想编辑此行以添加 "read" 权限:

allow container_t unlabeled_t:dir { add_name create remove_name rename write read};

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

audit2allow man page 解释了如何编译模块。如果你没有使用refence policy宏,你可以直接使用checkmodule(SELinux policy compiler)和semodule_package(packager):

checkmodule -M -m -o sample.mod sample.te
semodule_package -o sample.pp -m sample.mod

如果您的政策文件中有参考政策宏(使用 -R 选项 audit2allow 或在您的修改中添加宏),您需要制定政策安装文件(selinux-policy-dev 包)并使用提供的 makefile:

make -f /usr/share/selinux/devel/Makefile sample.pp