Trusted Solaris 管理の手順

マルチレベルディレクトリ

マルチレベルディレクトリ (MLD) とは、異なる機密ラベルを持つ情報が、シングルレベルディレクトリ (SLD) と呼ばれるサブディレクトリで別々に管理されるディレクトリを指します。ほとんどのインタフェースにおいて MLD は、単一の名前をもつ単一ディレクトリとして認識されます。

Trusted Solaris システムでは、/tmp/var/mail、ユーザーのホームディレクトリといった特定のディレクトリは、MLD として作成されます。さまざまなラベルの元で実行され、このような特定の標準的ディレクトリにファイルを書き込むことが必要となる標準的アプリケーションがここに格納されます。

MLD で作業をするユーザーは、現在のプロセスの機密ラベルでのみファイルを表示したり操作したりできます。ユーザーがファイルを昇格または降格する権限を持っている場合は、MLD 内に作成したファイルまたはディレクトリの機密ラベルを昇格または降格できます。昇格したファイルまたはディレクトリの名前は表示できます。また、セキュリティ管理者が system(4) ファイル にある tsol_hide_upgraded_names をデフォルト設定値の 0 から 1 に変更して、昇格されたファイルの名前を非表示にする場合もあります。

SLD にファイルを作成したときに、機密ラベルを持つ SLD がまだ存在していない場合は、Trusted Solaris が SLD を作成し、それにプロセスの機密ラベルを割り当てます。

ユーザーが MLD にアクセスする方法は、装飾名を使用する方法と「しない」方法の 2 通りがあります。ディレクトリにアクセスするためのインタフェース (cd(1)mkdir(1)ls(1)) ではどちらの方法も使用できます。装飾名を使用せずに MLD を参照すると、Trusted Solaris システムは、ユーザーが作業している機密ラベル (プロセスの機密ラベル) に対応するシングルレベルのディレクトリ (SLD) を透過的に参照するようになります。たとえば、PUBLIC ラベルで cd /tmp と入力すると、ユーザーは、機密ラベルに対応する SLD (/.MLD.tmp/.SLD.1) に移動します。装飾名を使用すると、プログラムは、プロセスと同じ機密ラベルを持つ SLD ではなく、MLD を直接参照できます。したがって、cd /.MLD.tmp と入力すると、ユーザーは最上位レベルの MLD に入り、現在の作業の機密ラベルより優位でない SLD をすべて一覧にすることができます。