初めに #
SELinux(Security-Enhanced Linux)は、Linuxにおけるアクセス制御の強化を目的としたセキュリティ機能となります。
RHEL系ディストリビューションにおいては標準的に搭載されています。
以下のリポジトリにてOSSとして開発されております。
This is the upstream repository for the Security Enhanced Linux (SELinux) userland libraries and tools. The software provided by this project complements the SELinux features integrated into the Linux kernel and is used by Linux distributions. All bugs and patches should be submitted to selinux@vger.kernel.org
しかし、SELinuxはその仕組みがやや複雑なため、「現在有効なのかどうか」「どのモードで動作しているのか」が分かりづらいという声も多くあります。
本記事では、Linux初心者でも簡単に確認できるSELinuxの状態確認方法を解説します。
getenforceコマンドで状態確認 #
getenforce
コマンドを利用することで手軽にSELinuxの状態を確認することができます。
下記のコマンドとなりますターミナルより実行してください。
$ getenforce
実行すると、現在のSELinuxのモードが1行で表示されます。表示されるステータスと意味は以下の通りです。
ステータス | 説明 |
---|---|
Enforcing |
SELinuxが有効で、ポリシーが強制的に適用されている(制限が有効) |
Permissive |
SELinuxは有効だが、違反があっても強制せずログ出力のみ行う(学習用) |
Disabled |
SELinuxが無効になっており、セキュリティ制御が働いていない状態 |
このコマンドは結果が非常にシンプルなため、現在の有効/無効の状態を素早く把握したい場合に適しています。
sestatusコマンドで詳細情報を確認 #
より詳細な情報を確認したい場合はsestatus
コマンドを使用します。
このコマンドでは、SELinuxの全体的な状態や構成情報を含む、複数の項目が出力されます。
$ sestatus
実行すると、「SELinux status
」項目にてSELinuxの状態を確認することができます。
表示されるステータスと意味は以下の通りです。
ステータス | 説明 |
---|---|
enabled |
SELinuxが有効になっている |
disabled |
SELinuxが完全に無効化されている |
以下は実行例となります。
$ sestatus
SELinux status: disabled
この結果では「SELinux status」項目が「disabled」となっており完全に無効化されていることが分かります。