Red Hat系のLinuxは、SELinuxが既定でインストールされています。SELinuxの動作はRoot権限より強いアクセス制御を提供するため、十分な理解がないと意図しないアクセス制御によりトラブルの原因になります。ここでは、SELinuxの有効状態の確認方法と、有効化・無効化する方法について説明します。
有効状態を確認するには、ターミナルでgetenforceコマンドを入力します。有効状態の場合は「Enforcing」、無効状態の場合は「Permissive」または「Disabled」と表示されます。
[root@localhost ~]# getenforce
Enforcing ← 有効状態
SELinuxを一時的に有効化するには、setenforceコマンドを利用します。setenforceコマンドの引数を1またはenforcingに設定します。
[root@localhost ~]# setenforce 1
SELinuxを一時的に無効化するには、setenforceコマンドの引数を0またはpermissiveに設定します。
[root@localhost ~]# setenforce 0
コマンドを実行すると、SELinuxの強制モードが「Permissive」に変更され、セキュリティポリシーに従いアクセス制限は行われませんが、セキュリティ違反のログは記録されます。
setenforceコマンドを使用した設定変更は一時的なものであり、再起動すると設定ファイル(/etc/selinux/config)の値に従って元に戻ります。
SELinuxを永続的に設定するには、/etc/selinux/config の設定ファイルを編集します。SELINUXの値をenforcingに設定するとSELinuxが有効化され、disabledに設定すると無効化されます。
有効にする場合
SELINUX = enforcing
無効にする場合
SELINUX = disabled