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 の方を修正していた時期もあったのかもしれません。
修正が反映されなくて悩んでいる方は、修正するファイルの方を変えてみてください。