試した環境
- CentOS 8.2
- Redhat Enterprise Linux 7.3
SELinux無効方法
- SELinuxを永続的に無効化する場合、
SELINUX=enforcing
をSELINUX=disabled
に変更する必要があります。
/etc/selinux/config
SELINUX=enforcing
SELINUXTYPE=targeted
/etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
SELinux設定を誤ったらどうなるか?
- もし誤って
SELINUXTYPE=targeted
をSELINUXTYPE=disabled
に変更してリブートした場合、OSブート中に以下エラーを出力して起動しなくなります。
Failed to load SELinux policy, freezing.
- こうなってしまうとSSHも繋がらないので、シリアルコンソールからの復旧が必要です。
Azure VM(CentOS)の場合の復旧方法
シリアルコンソール接続
GRUBメニューから復旧
-
その後[Esc]ボタンを連打もしくは長押しします。一度シリアルコンソールが切断・再接続され、その後以下のGRUBメニュー画面になります。
-
その状態で[Ctrl + x]を押すとブートが走りログイン画面になるので、SELinuxの設定を正しく修正して復旧完了です。
Azure VM(RHEL)の場合の復旧方法
- CentOSのときと違ってRHELの場合はGRUBメニューを開けませんでした。
- そこでレスキューVMを作って、そこにディスクをアタッチしてから復旧し、元のVMにディスクを戻すというやり方で復旧します。
- 公式ドキュメント 通りの手順で復旧することができました。
以上