第11章 トラブルシューティング
本章では、SELinux がアクセスを拒否した場合の動作、問題の上位 3 つの原因、正しいラベル付けに関する情報の入手先、SELinux の拒否分析、および
audit2allow
でカスタムポリシーモジュールを作成する方法について説明します。
11.1. アクセスが拒否された場合の動作
アクセスの許可、拒否などの SELinux の結果はキャッシュされます。このキャッシュは、アクセスベクトルキャッシュ (AVC) として知られています。SELinux がアクセスを拒否すると、拒否メッセージがログに記録されます。この拒否は AVC 拒否としても知られており、実行しているデーモンに応じて別の場所にログが記録されます。
デーモン: auditd on
ログの場所:
/var/log/audit/audit.log
デーモン: auditd off、rsyslogd on
ログの場所:
/var/log/messages
デーモン: setroubleshootd、rsyslogd、auditd on
ログの場所:
/var/log/audit/audit.log
./var/log/messages
にも送信される、読み取りが容易な拒否メッセージ
X Window System を実行中で、setroubleshoot パッケージおよび setroubleshoot-server パッケージがインストールされており、
setroubleshootd
デーモンおよび audd
デーモンを実行している場合は、SELinux がアクセスを拒否したときに警告が表示されます。
Forbidden You don't have permission to access file name on this server
このような状況で、DAC ルール (スタンダードの Linux パーミッション) でアクセスが許可されている場合は、
/var/log/messages
および /var/log/audit/audit.log
で、それぞれ "SELinux is preventing"
エラーおよび "denied"
エラーを確認してください。これは、root ユーザーになり、以下のコマンドを実行して実行できます。
~]#
grep "SELinux is preventing" /var/log/messages
~]#
grep "denied" /var/log/audit/audit.log