Trusted Solaris には、次のような 2 種類の特殊ディレクトリが用意されており、異なる機密ラベルでファイルやサブディレクトリを保存し、別々に保持することができます。
マルチレベルディレクトリ (MultiLevel Directory、MLD) - 特殊な種類のディレクトリで、シングルレベルディレクトリと呼ばれる個別のサブディレクトリに、機密ラベルごとに情報を格納します。一般に、管理者が作成するユーザーのホームディレクトリは、このマルチレベルディレクトリです。
シングルレベルディレクトリ (Single-Level Directory、SLD) - マルチレベルディレクトリ内の隠しサブディレクトリで、単一の機密ラベルだけを持つファイルまたはサブディレクトリを格納します。
ファイルマネージャなどのアプリケーションや、標準コマンドを使用してシェルからマルチレベルディレクトリ内のファイルを表示 (またはアクセス) しようとすると、現在の機密ラベルのファイルだけが表示 (またはアクセス) されます。たとえば、機密ラベルの異なるファイルがホームディレクトリに保存されていても、通常は、現在の機密ラベル以外のファイルは表示されません。
次の図は、マルチレベルディレクトリ内に隠れているシングルレベルディレクトリの概念を図に示したものです。上の図は、「CONFIDENTIAL A B」で作業をしているユーザーの画面上の、ホームディレクトリ /myHomeDir の内容表示状態を示しています。下の図は、「SECRET A B」で作業をしているユーザーの画面を示しています。表示されないディレクトリとファイルは、点線と細字で示されています。実線と太字は、表示されるディレクトリとファイルを示します。シングルレベルディレクトリに割り当てられている機密ラベルは、括弧内に省略形で示されています。ただし、実際には、機密ラベルはディレクトリ名には表示されません。
「CONFIDENTIAL A B」で作業しているユーザーが、/myHomeDir ディレクトリの内容を表示しようとすると、次のように表示されます。
% pwd /myhomedir % ls file1 |
「SECRET A B」で作業しているユーザーには、次のように表示されます。
% pwd /myhomedir % ls file2 file3 |