CentOS 7.9 でSELinuxを無効にする方法でハマる

個人的な備忘録でもあります。

CentOS7.9でWebサイトを立ち上がる際に、ファイルのPermissionエラーが多発して、とりあえずSELinuxを外そうと思い、やり方を思い出そうとしてググると

一時的な対応の場合、以下のコマンドを投入します。

# setenforce 0

確認方法は、getenforce コマンドを使います。

# getenforce
Disabled

この設定を恒久化しようとすると、システムの設定ファイルを修正する必要があります。ググると、/etc/sysconfig/selinux ファイル中の SELINUX=enforcing のところを disabled にせよと。

# 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=disabled 

変更した後にOSを再起動すると反映され、上記の getenforce コマンドで確認せよと。

すると “Enforcing"と表示されました。話が違うじゃん!

スペルミスやパーミッションなどをチェックしましたが問題なかったので、ガセネタを疑いました。結局のことろ、修正対象のファイルは /etc/selinux/config の方でした。内容は上記のサンプルと同様です。紛らわしい・・・

出典は Redhat Customer Portal の “5.4 SELINUXの有効化および無効化”です。
https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/security-enhanced_linux/sect-security-enhanced_linux-working_with_selinux-enabling_and_disabling_selinux

深追いはしていませんが、おそらくは過去のバージョンでは /etc/sysconfig/selinux の方を修正していた時期もあったのかもしれません。
修正が反映されなくて悩んでいる方は、修正するファイルの方を変えてみてください。