CentOS 5 の SELinux は、当時のサーバー運用では無効化されていることも多くありました。しかし、古い環境を読む場合でも、SELinux が有効なのか、permissive なのか、disabled なのかを確認しないと、原因切り分けを誤ります。
この記事では、CentOS 5 における SELinux の状態確認と、古い環境での扱いを確認します。
SELinux の状態を確認する
getenforce
sestatusgetenforce は現在の状態を簡潔に表示します。sestatus はポリシーや設定ファイル上の状態も含めて確認できます。
状態の意味
Enforcing: SELinux ポリシーを強制するPermissive: 違反をログに出すが拒否しないDisabled: SELinux を無効化している
古い記事では、トラブル回避のために SELinux を disabled にする手順が出てくることがあります。ただし、現在の観点では、何が拒否されているのかを確認せずに無効化するのは望ましくありません。
一時的に permissive にする
切り分けのため、一時的に permissive にする場合があります。恒久設定ではなく、原因確認のための操作として扱います。
sudo setenforce 0
getenforceこの操作は再起動後に戻る場合があります。恒久的な状態は設定ファイルを確認します。
恒久設定を確認する
grep '^SELINUX=' /etc/selinux/config
sudo cp -a /etc/selinux/config /etc/selinux/config.bak.$(date +%Y%m%d%H%M%S)恒久的に変更する場合は、必ずバックアップを取ります。古い環境では、SELinux を disabled にして運用されていた背景があるかもしれません。単純に有効化すると、既存サービスが動かなくなる可能性があります。
ログを確認する
grep -i denied /var/log/audit/audit.log
grep -i selinux /var/log/messagesSELinux による拒否が疑われる場合は、ログで根拠を確認します。サービスが動かないから即 disabled にするのではなく、まず拒否ログを見るのが筋です。
まとめ
CentOS 5 の SELinux は、古い運用では無効化されていることも多い要素です。ただし、現在の視点で記事を読むなら、無効化そのものを正解とせず、状態確認、ログ確認、切り分けの順に扱うべきです。
関連する記事
- CentOS 5 サーバー管理ガイド
CentOS 5 系記事のハブです。 - CentOS 5 管理ユーザーと su 制限 – wheel グループで権限を分ける
権限管理の入口になる記事です。 - CentOS 5 不要サービスの停止 – chkconfig で起動状態を確認する
サービス状態の確認記事です。
参考書籍
古い Linux サーバーの操作を読む前提として、コマンドラインの考え方を確認したい場合の参考書籍です。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。

