4.7.3. ファイルコンテキストの決定方法
ファイルコンテキストの判断は、システムセキュリティーポリシー (
.fc
ファイル) で指定されているファイルコンテキスト定義に基づいて行われます。semanage
は、システムポリシーに基づいて、file_contexts.homedirs
ファイルと file_contexts
ファイルを生成します。
システム管理者は、semanage fcontext コマンドを使用して、ファイルコンテキストの定義をカスタマイズできます。このようなカスタマイズは、
file_contexts.local
ファイルに保存されます。
matchpathcon
または restorecon
などのラベリングユーティリティーが、指定されたパスに適したラベルを決定する場合は、最初にローカル変更 (file_contexts.local
) を検索します。一致するパターンが見つからない場合は、file_contexts.homedirs
ファイルが検索され、最後にfile_contexts
ファイルが検索されます。ただし、指定したファイルパスに一致するものが見つかると、検索が終了します。このユーティリティーは、追加の file-context 定義を検索します。つまり、ホームディレクトリー関連のファイルコンテキストの優先度は、その他のファイルコンテキストの優先度よりも高く、ローカルのカスタマイズによりシステムポリシーが上書きされます。
system policy
で指定されるファイルコンテキストの定義 (file_contexts.homedirs
ファイルおよび file_contexts
ファイルのコンテンツ) は、評価前に stem (ワイルドカードの前のパスの接頭辞) の長さでソートされます。つまり、最も具体的なパスが選択されます。ただし、semanage fcontext を使用して指定したファイルコンテキスト定義は、定義された方法とは逆の順序で評価されます。つまり、直近のエントリーは、stem の長さに関係なく最初に評価されます。
詳細は、以下を参照してください。
chcon
を使用してファイルコンテキストを変更する方法は、「一時的な変更: chcon」 を参照してください。- semanage fcontext を使用したファイルコンテキストの定義の変更および追加は、「永続的な変更 - semanage fcontext」 を参照してください。
- システムポリシーオペレーションを介してファイルコンテキスト定義を変更して追加する場合は、「SELinux ラベルの維持」 または 「SELinux ポリシーモジュールの優先付けと無効化」 を参照してください。