Go to main content
Trusted Extensions 構成と管理

印刷ビューの終了

更新: 2016 年 11 月
 
 

Trusted Extensions でのファイルシステムの共有とマウントの結果

Trusted Extensions では、共有ファイルによって管理が簡単になり、効率と速度を向上させることができます。MAC は常に適用されます。

  • ラベル付きゾーンのシングルレベルのデータセットを NFS 経由で共有する– Oracle Solaris と同様に、共有ディレクトリによって管理が簡単になります。たとえば、Oracle Solaris のマニュアルページを 1 つのシステムにインストールし、マニュアルページのディレクトリをほかのシステムと共有することができます。

  • 大域ゾーンのマルチレベルのデータセットを LOFS 経由で共有する – LOFS でマウントされたデータセットにより、あるラベルから別のラベルにファイルを移動する際の効率と速度が向上します。ファイルはデータセット内で移動されるため、入出力操作は使用されません。

  • 大域ゾーンのマルチレベルのデータセットを NFS 経由で共有する – NFS サーバーは、多くのラベルのファイルを含むマルチレベルのデータセットを多くのクライアントに対して共有することができます。このような構成では、管理が簡単になり、単一の場所でファイルを配布できます。特定のラベルのクライアントにサービスを提供するために、そのラベルのサーバーが必要になるわけではありません。

大域ゾーンでのファイルの共有とマウント

大域ゾーンでのファイルのマウントは、MAC ポリシーに従う Oracle Solaris でのファイルのマウントと同じです。大域ゾーンから共有されたファイルは、そのファイルのラベルで共有されます。したがって、すべてのファイルがラベル ADMIN_LOW で共有されるため、大域ゾーンのファイルシステムをほかの Trusted Extensions システムの大域ゾーンと共有することは有用ではありません。大域ゾーンがほかのシステムと共有することで役立つファイルは、マルチレベルのデータセットです。

大域ゾーンから LOFS 経由で共有されたシングルレベルのデータセットのファイルとディレクトリは、ADMIN_LOW で共有されます。たとえば、大域ゾーンの /etc/passwd ファイルと /etc/shadow ファイルを、システム上のラベル付きゾーン内に LOFS でマウントできます。ファイルは ADMIN_LOW なので、ラベル付きゾーンで表示され、読み取り専用です。マルチレベルのデータセットのファイルとディレクトリは、そのオブジェクトのラベルで共有されます。

大域ゾーンは、マルチレベルのデータセットを NFS 経由で共有することもできます。NFS サービスがマルチレベルポートを使用するように構成されている場合、クライアントはこのデータセットのマウントをリクエストすることができます。クライアントのラベルが、クライアントの NFS マウントリクエストを処理するネットワークインタフェースの cipso テンプレートに指定されているラベル範囲内にある場合、このリクエストは成功します。

    具体的には、大域ゾーンおよびマウントされたファイルの動作は、次のようになります。

  • Trusted Extensions クライアント上の大域ゾーンでは、共有に含まれるものはすべて読み取り可能で、ローカルの大域ゾーンのプロセスと同様に、クライアントは ADMIN_HIGH で書き込むことができます。

  • クライアントがラベル付きゾーンの場合、そのゾーンのラベルが共有ファイルのラベルと一致していれば、マウントされたファイルは読み取り/書き込み可能です。

  • クライアントがラベルなしシステムの場合、そのクライアントに割り当てられたラベルが共有ファイルのラベルと一致していれば、マウントされたファイルは読み取り/書き込み可能です。

  • ラベル ADMIN_LOW のクライアントはデータセットをマウントできません。

  • マルチレベルのデータセットを同じシステム上のラベル付きゾーンと共有するには、大域ゾーンで LOFS を使用します。

NFS マウント上のファイルの表示とラベル変更の詳細は、別のシステムのマルチレベルデータセットのマウントを参照してください。

非大域ゾーンでのファイルの共有とマウント

ラベル付きゾーンのファイルは、ほかのシステムとそのゾーンのラベルで共有することができます。したがって、ラベル付きゾーンのファイルシステムは、ほかの Trusted Extensions システム上にある同じラベルのゾーン、および同じラベルが割り当てられている信頼できないシステムと共有することができます。これらのマウントを仲介する ZFS プロパティーについては、mlslabel プロパティーとシングルレベルのファイルシステムのマウントを参照してください。

大域ゾーンからラベル付きゾーンへの LOFS マウントは、シングルレベルのデータセットの場合は読み取り専用になります。MAC 読み取り/書き込みポリシーには特権のオーバーライドなしで説明されているとおり、マルチレベルのデータセットの場合、MAC ポリシーはファイルおよびディレクトリのラベルごとに適用されます。

mlslabel プロパティーとシングルレベルのファイルシステムのマウント

ZFS で提供されるセキュリティーラベルプロパティー mlslabel には、データセット内のデータのラベルが含まれます。mlslabel プロパティーは継承可能です。明示的なラベルを持つ ZFS データセットは、Trusted Extensions が構成されていない Oracle Solaris システムではマウントできません。

mlslabel プロパティーが未定義の場合、そのデフォルト値は、ラベルなしを示す文字列 none になります。

    ZFS データセットをラベル付きゾーンでマウントすると、次のことが起こります。

  • データセットにラベルが付いていない、つまり mlslabel プロパティーが未定義の場合は、mlslabel プロパティーの値が、マウント先となるゾーンのラベルに変更されます。

    大域ゾーンの場合、mlslabel プロパティーは自動的には設定されません。admin_low というラベルが明示的に付けられたデータセットは、読み取り専用でマウントする必要があります。

  • データセットにラベルが付いている場合、カーネルは、そのデータセットのラベルがマウント先となるゾーンのラベルと一致するか確認します。ラベルが一致しない場合には、ゾーンで下位読み取りマウントが許可されていないかぎり、マウントは失敗します。ゾーンで下位読み取りマウントが許可されている場合、低いレベルのファイルシステムは読み取り専用でマウントされます。

コマンド行から mlslabel プロパティーを設定するには、次のような構文を使用します。

# zfs set mlslabel=public export/publicinfo

初期ラベルを設定したり、デフォルト以外のラベルを高いレベルのラベルに変更したりする場合は、file_upgrade_sl 特権が必要となります。ラベルを削除する、つまりラベルを none に設定する場合は、file_downgrade_sl 特権が必要となります。この特権は、デフォルト以外のラベルを低いレベルのラベルに変更する場合にも必要となります。