SELinuxとは、Security-Enhanced Linuxの略で、Linux のセキュリティをより強固なものにするために米国国家安全保障局(NSA)によって開発されました。Fedora, Red Hat Enterprise Linux, CentOS では標準で有効化されています。
有効化されていると動作しないサービスが多く、仕様も難解なため、無効化することが多々あります。
SELinuxの状態を確認する
以下のコマンドを実行して現在のLinuxのSELinuxの状態を確認できます。
getenforce
コマンドの実行結果は「Enforcing」「Permissive」「Disabled」の3通りです。
Enforcing:検知して拒絶する(有効化されている状態)
Permissive:検知してログに書き込むが、拒絶まではしない(無効化されているがログとして検知)
Disabled:無効。検知も拒絶もしない(無効化されている状態)
SELinuxの有効化・無効化
setenforceコマンドでSELinuxの状態を「Enforcing」「Permissive」に変更できます。
# setenforce Enforcing
# setenforce Permissive
# setenforce 0 # 一時的にpermissiveモードに変更
# setenforce 1 # 一時的にenforcingモードに変更
上記コマンドによる操作は、OSを再起動するなどすると元の状態に戻ります。永続的にSELinuxの状態を変更するには/etc/selinux/configファイルの「SELINUX=enforcing」を書き換えます。
# vi /etc/selinux/config
SELINUX=enforcing
# reboot
完全に無効化させたい場合は以下です。
# vi /etc/selinux/config
SELINUX=disabled
# reboot