SELinuxのポリシーパッケージ (.pp) はバイナリファイルのため、中身を確認することができません。 そこで、.pp を CIL 形式に変換し、人間が解読できる形式にします。
ポリシーパッケージからCILへの変換
CILへの変換は /usr/libexec/selinux/hll/pp コマンドを使って変換します。
~]# cat /root/my_tomcat_policy.pp | /usr/libexec/selinux/hll/pp
(typeattributeset cil_gen_require tomcat_t)
(auditallow tomcat_t self (tcp_socket (*)))
(auditallow tomcat_t self (udp_socket (*)))
(auditallow tomcat_t self (rawip_socket (*)))
ポリシーパッケージの作成
上記のポリシーパッケージは以下のコマンドで作成しました。
~]# cat <<'EOS' > my_tomcat_policy.te
module my_tomcat_policy 1.0.0;
require {
type tomcat_t;
class tcp_socket *;
class udp_socket *;
class rawip_socket *;
}
auditallow tomcat_t self:{ tcp_socket udp_socket rawip_socket } *;
EOS
~]# checkmodule -M -m -o my_tomcat_policy.mod my_tomcat_policy.te
~]# semodule_package -o my_tomcat_policy.pp -m my_tomcat_policy.mod
~]# semodule -i my_tomcat_policy.pp
~]# semodule -lfull | grep my_tomcat_policy
以上です。