Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

11.3. 問題の修正

以下のセクションでは、問題のトラブルシューティングを行う方法を説明します。SELinux ルールよりも前に確認される Linux のパーミッションの確認、SELinux によるアクセス拒否が考えられる原因があるが、拒否はログに記録されない場合、サービス用の man ページ (ラベリングとブール値に関する情報を記載)、システム全体ではなく 1 つ プロセスが Permissive を実行できるようにするための Permissive ドメイン、拒否メッセージの検索および表示方法、拒否の分析、audit2allow を使用したカスタムポリシーモジュールの作成について説明します。

11.3.1. Linux の権限

アクセスが拒否された場合は、標準の Linux 権限を確認します。1章はじめに で説明されているように、ほとんどのオペレーティングシステムは DAC (Discretionary Access Control) システムを使用してアクセスを制御し、ユーザーが所有するファイルのパーミッションを制御できるようにします。SELinux ポリシールールは、DAC ルールの後にチェックされます。DAC ルールがアクセスを拒否する場合は、SELinux ポリシールールは使用されません。
アクセスが拒否され、SELinux の拒否ログが記録されていない場合は、次のコマンドを使用して、標準の Linux 権限を表示します。
~]$ ls -l /var/www/html/index.html
-rw-r----- 1 root root 0 2009-05-07 11:06 index.html
この例では、index.html は root ユーザーおよびグループが所有します。root ユーザーには読み取り権限と書き込み権限 (-rw) があり、root グループのメンバーには読み取り権限 (-r-) があります。他の人にはアクセス権がありません (---)。既定では、このような権限では、httpd がこのファイルを読み込むことができません。この問題を解決するには、chown コマンドを使用して所有者とグループを変更します。このコマンドは、root で実行する必要があります。
~]# chown apache:apache /var/www/html/index.html
これは、デフォルト設定 (httpd は Linux Apache ユーザーとして実行) であることを前提としています。別のユーザーで httpd を実行している場合は、apache:apache をそのユーザーに置き換えます。
Linux のパーミッション管理の詳細は、Fedora Documentation Project "Permissions" のドラフトを参照してください。