Trusted Solaris のラベル管理

ラベル表示の設定の階層

ラベル表示は、3 種類の異なる方法で、外部用または内部用のいずれかに設定されます。この節では、それらの方法を優先度の低いものから順に説明します。

label_encodings ファイルでの設定

デモ版の label_encodings(4) ファイルは、例 1-3 に示すように、LOCAL DEFINITIONS セクションで、ラベル表示が External (外部用) に設定されています。Default Label View という用語は、上記の他の 2 つの設定のどちらか一方によって無効にされない限り、適用されるデフォルト設定であるために使用されます。


例 1-3 ラベル表示のデフォルト設定


Default Label View is External;

サイトの label_encodings(4) ファイルを作成するとき、セキュリティ管理者役割が、External 設定をそのまま受け入れる場合と、それを Internal に変更する場合とがあります。その設定の意味については、「管理ラベルの名前の表示と非表示」を参照してください。また、この設定値は、セキュリティ管理者役割でシステムの稼働後、label_encodings ファイルを編集することによって変更できます。


注 -

「管理ラベルの名前の変更」で述べたように、セキュリティ管理者役割では、管理ラベルの代替名を label_encodings(4) ファイルに指定することができるので、管理ラベルの名前は変更されていることがあることを念頭に入れておく必要があります。


ユーザーマネージャでの設定

プロセスのラベル表示の設定でシステム全体の設定値を変更することができます。プロセスのラベル表示は、内部用 (Internal) 外部用 (External) 、Sys デフォルト (Sys Default) のいずれかに設定されます。Sys デフォルトの場合のラベル表示には、label_encodings ファイルのデフォルト値が設定されます。プロセスのラベル表示は、次のようにして間接的に設定されます。

図 1-2 ユーザーマネージャの「ラベル (Labels)」ダイアログボックス

Graphic

ラベル表示は、/etc/security/tsol/tsoluser ファイルのアカウントエントリの labelview フィールドに保存される最初の値で、その後に showsl または hidesl が続きます。次の例では、labelview フィールドの最初の設定値が internal であるため、ラベル表示はローカルに生成された auditadmin 管理役割アカウントとして内部用に設定されます。


例 1-4 監査管理役割アカウントの tsoluser エントリの例


auditadmin:fixed:automatic:Audit Control,Audit Review,Media Restore,:none:5:
lock:internal,showsl:0x000000000000000000000000000000000000000
00000000000000000000000000000:0x7fffffffffffffffffffffffffffffffffffffffffff
ffffffffffffff:utadm:res1:res2:res3


注 -

tsoluser(4) ファイルは、直接編集しないでください。アカウントのラベル表示の変更は、ユーザーマネージャの「ラベル (Labels)」ダイアログボックスを使用して下さい。


setpattr(2) によるプロセスの PAF_LABEL_VIEW フラグの設定

ユーザーまたは役割がプロセスを開始すると、そのアカウントの tsoluser(4) ファイルエントリが検索され、そこで指定されたラベル表示に基づいてプロセス属性フラグ PAF_LABEL_VIEWsetpattr(2) により設定されます。PAF_VIEW_EXT は External、PAF_VIEW_INT は Internal を設定します。Sys ラベル表示を tsoluser で指定すると、PAF_VIEW_DEF には label_encodings(4) ファイルのデフォルト値が設定されます。

プログラムによる設定

プログラムは、ライブラリルーチン (マニュアルページの bltos(3) または『Trusted Solaris 開発ガイド』の「ラベル」を参照) を使用してプロセスのラベル表示を設定または取得します。

PAF_LABEL_VIEW フラグの値に関係なく、バイナリからテキストにラベルを変換するのに使用されるライブラリ呼び出しは、ラベルが内部用または外部用のいずれかのラベル表示で変換されるように指定できます。VIEW_EXTERNAL または VIEW_INTERNAL フラグがライブラリルーチンへの呼び出しで指定されなかった場合は、ADMIN_LOWADMIN_HIGH ラベルの変換は、ラベル表示プロセス属性フラグによって制御されます。ラベル表示プロセス属性フラグが VIEW_SYS として定義されていれば、変換は、label_encodings(4) ファイルで設定されたラベル表示によって制御されます。