ConoHa では CentOS 7.5 で SELinux をオン(enforcing)にすると再起動後、ログインできなくなりました>< – oki2a24 を投稿したところ、次のアドバイスをいただきました。ありがとうございます!
(検索から) SELinuxを有効にした際、再ラベル付けをしていないことが原因だと思います。 https://t.co/zlHq65p5Zi
— ishikawa84g (@ishikawa84g) June 28, 2018
早速、SELinuxの状態を変更する | 2done.org の内容を実践し、うまく行きましたのでその記録を残そうと思います。
ポイント
- OS 再起動時の SELinux 再ラベル付を行うこと。コマンドは、
fixfiles onboot
で、ルートディレクトリに .autorelabel が作成されればよい。
作業を行った、対象となるサーバについて
- VPS: 512MB
- OS: CentOS 7.5(64bit)
- root パスワードを設定し、他は、なにも変更しない
SELinux を Disabled から Enforcing に変更する手順
# 確認 getenforce sestatus # SELinux を Disabled から Enforcing へ変更 # 設定変更 cp -a /etc/selinux/config /etc/selinux/config.org sed -i -e 's/SELINUX=disabled/SELINUX=enforcing/' /etc/selinux/config diff -up /etc/selinux/config.org /etc/selinux/config # OS再起動時の再ラベル付 fixfiles onboot # 再起動し、反映 reboot
SELinux を Disabled から Enforcing へ変更、再ラベル付設定をし、OS 再起動しました。
ログインでき、バッチリ SELinux もオン (Enforcing) になりました♪
実は以上の手順は次の isabled から Permissive へ、そして Enforcing へ徐々に変更するやり方の後に行ったものでした。徐々に変更していった記録は次のようになりました。
使ったコマンドまとめ。SELinux を Disabled から Permissive へ、そして Enforcing へと変更する
root で作業します。
# 確認 getenforce sestatus # SELinux を Disabled から Permissive へ変更 # 設定変更 cp -a /etc/selinux/config /etc/selinux/config.org sed -i -e 's/SELINUX=disabled/SELINUX=permissive/' /etc/selinux/config diff -up /etc/selinux/config.org /etc/selinux/config # OS再起動時の再ラベル付 fixfiles onboot # 再起動し、反映 reboot # SELinux が最後の起動時にアクセスを拒否したことがあるかを確認 grep "SELinux is preventing" /var/log/messages # SELinux を Permissive から Enforcing へ変更 sed -i -e 's/SELINUX=permissive/SELINUX=enforcing/' /etc/selinux/config # 再起動し、反映 reboot
## 実践。SELinux を Disabled から Permissive へ、そして Enforcing へと変更する
root でログインし、実際に作業を行っていきました。
SELinux の状態を確認しました。Disabled でした。
Permissive へと変更しました。そして、/etc/selinux/config ファイルを出力してみまして、
SELINUX=permissive
SELINUXTYPE=targeted
となっていることを確認しました。
OS再起動時の再ラベル付、System will relabel on next boot
と言われましたので、良さそうです。
そして、再起動しました。
root でログインし、SELinux が最後の起動時にアクセスを拒否したことがあるかを確認してみます。拒否なし、のようです。では今度は、SELinxu を Enforcing にしました。
そして再度 OS 再起動してみました。
素晴らしい!今度はしっかりとログインできるようになりましたし、SELinux も オンの Enforcing となっています。!やったぜ!
おわりに
ConoHa でも、SELinux をオンにして使用できることがわかりました!
石川@驚きの白々しさ(@ishikawa84g)さん | Twitter さまには大変お世話になりました、ありがとう存じます!
実際にサーバを構築するには、本投稿の手順をまずはじめに行った後、必要なパッケージを入れていく、という流れが良さそうですね♪
その際、Disabled から Permissive にし、そして Enforcing へ、、、とせずに Disabled から Enforcing に変更すれば良さそうです。
ちなみに、ConoHa 5 周年なんですね。せっかくですので、本投稿はキャンペーンへの応募も兼ねてみようかと思います。
以上です。