カテゴリー
Linux

ConoHa では CentOS 7.5 で SELinux をオン(enforcing)にすると再起動後、ログインできなくなりました><

まとめ

  • CentOS 7.5 で SELinux をオン(enforcing)にすると再起動後、ログインできなくなる。
  • SELinux を使いたい場合は ConoHa は利用しないほうが良さそう。

再現手順

サーバ作成

  • VPS: 512MB
  • OS: CentOS 7.5(64bit)

root パスワードを設定し、他は、なにも変更しないで追加をクリックして作成しました。

SELinux の現状を確認

サーバページへ行き、コンソールをクリック
root でログイン

getenforce

SELinux の現状確認

SELinux を有効にする

の手順にしたがって行いました。

必要なパッケージがインストールされているか確認

rpm -q selinux-policy-targeted
rpm -q selinux-policy
rpm -q libselinux
rpm -q libselinux-python
rpm -q libselinux-utils
rpm -q policycoreutils
rpm -q policycoreutils-python

上記コマンドを実行して確認した結果、すべてインストールされていることがわかりました。

必要パッケージがインストールされていることを確認

Enforcing モードへの変更

/etc/selinux/config ファイルの SELINUX を enforcing へと修正しました。

cp -a /etc/selinux/config /etc/selinux/config.org
vi /etc/selinux/config
diff -up /etc/selinux/config.org /etc/selinux/config

SELinux=enforcing へ修正

SELinux のモード変更の反映

システムを再起動しました。

reboot

結果

root でログインできなくなりました。

root でログインできなくなりました。1

root でログインできなくなりました。2

Permissive モードに変更してはどうか?

にしたがい、disabled から一旦 permissive に変更し、/var/log/messages ログに、システム起動時に SELinux がアクセスを拒否しているかどうかを確認してみます。

つまり、アクセス拒否を起こしているがゆえに、ログインができなくなっていると予想したのです。

vi /etc/selinux/config
# SELINUX=permissive と修正

reboot

# SELinux が最後の起動時にアクセスを拒否したことがあるかを確認
grep "SELinux is preventing" /var/log/messages

結果は、SELinux によるアクセス拒否は、ありませんでした。

SELinux によるアクセス拒否は、ありませんでした。

SELinux だけで grep してみましたけれども、これではなさそうな感じがします。

SELinux だけで grep してみましたけれども、これではなさそうな感じがします。

となりますと、enforcing にした時のログインできなくなる原因は、わかりません><。

おわりに

【WordPress】BackWPup から別のサーバへ復元、リストアした記録 – oki2a24 にて、次回への宿題として SELinux がなぜか無効になっているので有効化することを挙げました。

実は、本投稿を執筆する前に同じことを行って、一度 WordPress サーバがダメになりました。

そして投稿も2つ無くなり、書き直しています。慢心ゆえです。恥ずかしい。。。

今回は、本当に ConoHa では SELinux が使えないのか、を確かめました。

結論としては、SELinux を使いたいときは、ConoHa は使わないほうがよい、ということでしょうか。

残念ですが、結果がわかってよかったと思います。

以上です。

コメントを残す