タップできる目次
現在のステータスを確認する方法
現在のステータスは「getenforce」コマンドで確認することができます。
# getenforce
Enforcing
#
あるいは「sestat」コマンドでも確認できます。
SELinux には 3つのモードが存在します。
Enforcing | 有効化 |
Permissive | 監査ログだけ記録 |
Disabled | 無効化 |
一時的にSELinuxを有効化/無効化する方法
SELinuxを有効化する
setenforce コマンドで設定します。
# setenforce Enforcing
あるいは
# setenforce 1
SELinuxを無効化する
setenforce コマンドで設定します。
# setenforce Permissive
あるいは
# setenforce 0
設定を反映させるにはシステムを再起動する必要があります
永続的にSELinuxを有効化/無効化する方法
設定ファイル /etc/selinux/config を編集する必要があります。「SELINUX=enforcing」という箇所が修正箇所です。
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=enforcing # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
設定を反映させるにはシステムを再起動する必要があります
/etc/selinux/config を編集すればSELinuxの有効化/無効化ができるのですが、設定を間違えるとOSが起動しなくなる場合があります。
わたしはスペルミスのせいでOSが起動しなくなった経験があるので、それ以来エディタで手動編集する方法や止めています。
そこで以下のような手順で設定を変えることにしています。この方法だと実績があるので間違えることがありません。
現在の設定を確認
# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: permissive Mode from config file: permissive Policy MLS status: enabled Policy deny_unknown status: allowed Memory protection checking: actual (secure) Max kernel policy version: 31 #
現在の設定
Current mode: permissive
設定ファイルの値
Mode from config file: permissive
設定変更
disabled に変更する
sed -ie 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
enforcing に変更する
sed -ie 's/^SELINUX=.*/SELINUX=enforcing/' /etc/selinux/config
permissive に変更する
sed -ie 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config
設定が正しく変更されていることを確認
# sestatus SELinux status: enabled SELinuxfs mount: /sys/fs/selinux SELinux root directory: /etc/selinux Loaded policy name: targeted Current mode: permissive Mode from config file: disabled Policy MLS status: enabled Policy deny_unknown status: allowed Memory protection checking: actual (secure) Max kernel policy version: 31 #
現在の設定
Current mode: permissive
設定ファイルの値(変更された)
Mode from config file: disabled
上記のように「Mode from config file:」の値が変わって入れば成功です。
システム再起動する
shutdown -r now
あるいは
reboot
Linuxの場合はshutdown
コマンドやreboot
コマンドを実行する際にsyncをする必要はありません。