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