ラベル表示は、3 種類の異なる方法で、外部用または内部用のいずれかに設定されます。この節では、それらの方法を優先度の低いものから順に説明します。
label_encodings(4) ファイルでの設定
tsoluser(4) ファイル (ユーザーマネージャに設定) での設定
プログラムでの設定
デモ版の label_encodings(4) ファイルは、例 1-3 に示すように、LOCAL DEFINITIONS セクションで、ラベル表示が External (外部用) に設定されています。Default Label View という用語は、上記の他の 2 つの設定のどちらか一方によって無効にされない限り、適用されるデフォルト設定であるために使用されます。
Default Label View is External; |
サイトの label_encodings(4) ファイルを作成するとき、セキュリティ管理者役割が、External 設定をそのまま受け入れる場合と、それを Internal に変更する場合とがあります。その設定の意味については、「管理ラベルの名前の表示と非表示」を参照してください。また、この設定値は、セキュリティ管理者役割でシステムの稼働後、label_encodings ファイルを編集することによって変更できます。
「管理ラベルの名前の変更」で述べたように、セキュリティ管理者役割では、管理ラベルの代替名を label_encodings(4) ファイルに指定することができるので、管理ラベルの名前は変更されていることがあることを念頭に入れておく必要があります。
プロセスのラベル表示の設定でシステム全体の設定値を変更することができます。プロセスのラベル表示は、内部用 (Internal) 、外部用 (External) 、Sys デフォルト (Sys Default) のいずれかに設定されます。Sys デフォルトの場合のラベル表示には、label_encodings ファイルのデフォルト値が設定されます。プロセスのラベル表示は、次のようにして間接的に設定されます。
各アカウントは、ユーザーマネージャによって内部用、外部用、sys デフォルトのいずれかに設定されたラベル表示を持ち、それらの設定値は tsoluser(4) ファイルに保存されています。
ログイン時に生成された初期のプロセスは、ラベル表示プロセスの属性フラグをログインアカウントの設定に基づいて設定します。
具体的には、各ユーザーアカウントおよび役割アカウントが設定されているときに、セキュリティ管理者役割は、ユーザーマネージャメニューを使用してラベル表示を内部用、外部用、sys デフォルトのいずれかに指定します。次の図を参照してください。
ラベル表示は、/etc/security/tsol/tsoluser ファイルのアカウントエントリの labelview フィールドに保存される最初の値で、その後に showsl または hidesl が続きます。次の例では、labelview フィールドの最初の設定値が internal であるため、ラベル表示はローカルに生成された auditadmin 管理役割アカウントとして内部用に設定されます。
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)」ダイアログボックスを使用して下さい。
ユーザーまたは役割がプロセスを開始すると、そのアカウントの tsoluser(4) ファイルエントリが検索され、そこで指定されたラベル表示に基づいてプロセス属性フラグ PAF_LABEL_VIEW
が setpattr(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_LOW と ADMIN_HIGH ラベルの変換は、ラベル表示プロセス属性フラグによって制御されます。ラベル表示プロセス属性フラグが VIEW_SYS として定義されていれば、変換は、label_encodings(4) ファイルで設定されたラベル表示によって制御されます。