Trusted Solaris 管理の手順

MLD の作成、変更、削除、MLD 内でのその他の操作

新しい MLD を作成したり、既存のディレクトリを MLD に変更したりするには、次の条件が必要です。

新しい MLD を作成するには、次の方法を使うことができます。

任意のディレクトリを MLD に変更する方法については、次の節を参照してください。

MLD の操作に関係するコマンドやオプションの一覧を表 2-6 に示します。各コマンドやオプションの詳細については、それぞれのマニュアルページを参照してください。

表 2-6 MLD の操作に関係するコマンド

MLD 関係のコマンドとオプション 

説明 

adornfc dirname

adornfc(1) を参照のこと

ディレクトリのパス名を装飾された最終コンポーネントとともに表示します。[このコマンドは、MLD 接頭辞を持つパス名、その最終コンポーネントが MLD であるかどうか、その最終コンポーネントがディレクトリであるかどうかだけを表示するものであり、何の変更も行いません。] 

getfattrflag -m dirname

getfattrflag(1) を参照のこと

ディレクトリが MLD であるかどうかを表示します。 

getmldadorn filesystem_name

getmldadorn(1) を参照のこと

ファイルシステムの持つ MLD 接頭辞を表示します。 

getsldname filesystem_name

または 

getsldname-ssensitivity_label filesystem_name

getsldname(1) を参照のこと

ファイルシステムの持つ SLD 名を表示します。現在のプロセスの持つラベルに対応する SLD 名を表示します。 

ファイルシステム内にある指定の機密ラベルを持つ SLD 名を表示します。 

mldpwd

mldpwd(1) を参照のこと

現在作業中のディレクトリのパス名を表示します。そのディレクトリが MLD であれば MLD 接頭辞が、SLD であれば SLD 名が表示されます。 

mldrealpath dirname

mldrealpath(1) を参照のこと

指定のディレクトリのパス名を表示します。そのディレクトリが MLD であれば MLD 接頭辞が、SLD であれば SLD 名が表示されます。 

rm(1)-RMMLD_dirname

rmdir(1) を参照のこと

指定の MLD 内にあるすべての SLD のうち、DAC および MAC アクセス権を持つものを再帰的に削除します。 

mkdir -Mdirname

または 

mkdir .mld_prefix.dirname

mkdir(1) を参照のこと

新しい MLD を作成します。 

setfattrflag --m existing_dirname

setfattrflag(1) を参照のこと

既存のディレクトリを MLD に変更します。 

上記のコマンドを使って、MLD、SLD、プロセスの持つ機密ラベルの関係を見てみましょう。図 2-2 に、ラベル CLASSIFIED を持つワークスペース上で pwd(1)plabel(1)mldpwd(1) コマンドを実行した場合の出力を示します。この例では、ユーザーのホームディレクトリ (/export/home/roseanne) は MLD であり、.SLD.2 は機密ラベル CLASSIFIED で作成された SLD です。図 2-2 において、通常のユーザーコマンドの pwd ではユーザーのホームディレクトリ名が表示されるだけですが、mldpwd コマンドを使うと、ユーザーが実際には .MLD.roseanne ディレクトリ内の .SLD.2 にいることが表示されます。「.SLD.2」という名前は SLD 番号 2 を持つため、この CLASSIFIED ラベルを持つ SLD は、3 番目に作成された SLD であることが分かります。

図 2-2 ホームディレクトリ内に作成された 3 番目の SLD の SLD 名

Graphic

図 2-3 に、機密ラベル TOP SECRET を持つ端末上で pwdplabelmldpwd コマンドを実行した場合の出力を示します。「.SLD.3」という名前は SLD 番号 3 を持つため、この TOP SECRET ラベルを持つ SLD は、4 番目に作成された SLD であることが分かります。

図 2-3 ホームディレクトリ内に作成された 4 番目の SLD の SLD 名

Graphic