Menu Close

Red Hat Training

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

4.9.2. デフォルトコンテキストの変更

「file_t および default_t タイプ」 で説明したように、拡張属性をサポートするファイルシステムの場合、ディスクに SELinux コンテキストのないファイルにアクセスすると、SELinux ポリシーで定義されているデフォルトのコンテキストがあるかのように処理されます。一般的なポリシーでは、このデフォルトのコンテキストは file_t タイプを使用します。別のデフォルトコンテキストを使用する方が望ましい場合は、defcontext オプションを指定してファイルシステムをマウントします。
以下の例では、/dev/sda2 の新規作成したファイルシステムを、新たに作成した test/ ディレクトリーにマウントします。/etc/selinux/targeted/contexts/files/ には、test/ ディレクトリーのコンテキストを定義するルールがないことを前提としています。
~]# mount /dev/sda2 /test/ -o defcontext="system_u:object_r:samba_share_t:s0"
この例では、以下のように設定されています。
  • defcontext オプションは、system_u:object_r:samba_share_t:s0 が「the default security context for unlabeled files」であることを定義します。[5].
  • マウントすると、ファイルシステムの root ディレクトリー(test/)は、defcontext で指定されたコンテキストでラベル付けされるかのように処理されます(このラベルはディスクに保存されません)。これは、test/ で作成されたファイルのラベリングに影響します。新しいファイルは samba_share_t タイプを継承するので、これらのラベルはディスクに保存されます。
  • ファイルシステムが defcontext オプションでマウントされている間に test/ で作成されたファイルは、それらのラベルを保持します。


[5] Morris、James。"filesystem Labeling in SELinux".2004 年 10 月 1 日2008 年 10 月 14 日: http://www.linuxjournal.com/article/7426