SELinuxを有効にした状態で、サーバ等を動作させた場合、SELinuxによって、アクセスが拒否される場合がある。そのアクセスを有効にする為には、以下の手順によってSELinnuxのローカルポリシーを作成し、そのアクセスを許可する必要がある。

(1) SELinuxのローカルポリシーを作成するためのツールをインストールする。

# yum install selinux-policy-targeted policycoreutils libselinux selinux-policy libselinux-python libselinux-devel policycoreutils-python policycoreutils-gui libselinux-utils policycoreutils-sandbox checkpolicy


(2) audit2allowを実行する為の初期化と全ての必要な情報を収集するpermissiveモードに設定する。

# semodule -R
# setenforce 0


(3) SELinuxのアクセス拒否情報を収集する為に、この状態で、SELinuxに拒否されるアクセスを実際におこなう。(ここでは、SELinuxがpermissiveモード、要するにアクセス拒否はおこなわないが、アクセス拒否の情報をログ化のみおこなうモードに設定されされているのでアクセスは成功するはずである。)

(4) 手順(3)で得られたログを元にローカルポリシーを生成する。(ここでは、/etc/local-selinux-policyというディレクトリにlocal001.teという名前で生成させる。)

# mkdir /etc/local-selinux-policy
# audit2allow -l -a -m local001 > /etc/local-selinux-policy/local001.te


(5) 手順(4)で生成したローカルポリシーを有効化する。

# cd /etc/local-selinux-policy/
# checkmodule -M -m -o local001.mod local001.te
# semodule_package -o local001.pp -m local001.mod
# semodule -i local001.pp


(6) SELinuxを有効化する。

# setenforce 1