シェルスクリプトでSELinuxの確認する

LinuxにはSELinuxという機能があります。この機能がオンとオフで結構差がでてしまいます。一般的にはオフで使う事が多いと思います。ちなみに僕もオフで使っております

SELinuxって何?

RedHat社にあるSELinuxとはというのを引用してみます

SELinux (Security-Enhanced Linux) とは、システムにアクセス可能なユーザーをより詳細に制御できるようにする、Linux® システム 用のセキュリティ・アーキテクチャです。もともとは、Linux Security Modules (LSM) を使用した Linux カーネルへの一連のパッチとして、アメリカ国家安全保障局 (NSA) によって開発されました。 SELinux は 2000 年にオープンソース・コミュニティにリリースされ、2003 年にアップストリームの Linux カーネルに統合されました。

凄いわからないです。色々調べてみると、今まではサーバーに侵入されないように対策をしてきた。けれど100%侵入を防ぐというのは無理なので、侵入されても被害を最小限にするために限定的な範囲でした操作できないようにする ということみたいです

SELlinuxは何故オフなのか?

SELinuxは高いセキュリティーのため、オンの状態で使うとWEBアプリが使えなくなったりします。例えばリバースプロキシが良い例ですが、SELinuxがオンだとはじかれます。オフにすることが多いです。

シェルでSELinuxの確認をする

本題です。シェルスクリプトを使って設定を確認をして、もしオンならオフにする設定をします

[c] #SELinuxの確認 SElinux=which getenforce if [ "${SElinux}" = "Disabled" ]; then echo "SElinuxは無効なのでそのまま続けていきます" else echo "SElinux有効のため、一時的に無効化します" setenforce 0 echo "一時的に無効化されているか確認します。Permissive になっていれば一時的に無効化された状態となります" getenforce #exit 1 fi [/c]

できました