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