第11章 トラブルシューティング
本章では、SELinux がアクセスを拒否した場合の動作、問題の上位 3 つの原因、正しいラベル付けに関する情報の入手先、SELinux の拒否分析、および
aud2allow
でカスタムポリシーモジュールを作成する方法について説明します。
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
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 "SELinux is preventing" /var/log/messages
grep "denied" /var/log/audit/audit.log
~]# grep "denied" /var/log/audit/audit.log