Trusted Solaris 開発ガイド

プロセスのセキュリティ属性フラグの取得と設定

呼び出しプロセスの属性フラグを照会するには、getpattr(2) を使用してください。

#include <tsol/pattr.h>

 main()
 {
 	int 				retval;
 	pattr_flag_t 				value;

 	retval = getpattr(PAF_TRUSTED_PATH, &value);
 	printf("Trusted Path Value = %d¥n", value);

 	retval = getpattr(PAF_PRIV_DBG, &value);
 	printf("Priv Debug value = %d¥n", value);

 	retval = getpattr(PAF_NO_TOKMAP, &value);
 	printf("Trusted Network Value = %d¥n", value);

 	retval = getpattr(PAF_DISKLESS_BOOT, &value);
 	printf("Diskless Boot Value = %d¥n", value);

 	retval = getpattr(PAF_SELAGNT, &value);
 	printf("Bypass Selection Agent Value = %d¥n", value);

 	retval = getpattr(PAF_PRINT_SYSTEM, &value);
 	printf("Print System Value = %d¥n", value);

 	retval = getpattr(PAF_LABEL_VIEW, &value);
 	printf("Label View Value = %d¥n", value);

 	retval = getpattr(PAF_LABEL_XLATE, &value);
 	printf("Label Translate Value = %x¥n", value);
 }

printf 文によって、次のように出力されます。 0 は、フラグがオフであることを示します。値 1 はオンであることを示します。ラベル変換値は、フラグがオフの場合は 0 であり、オンの場合はラベル変換フラグを示す 16 進値です。プロセスの属性フラグの詳細は、「明示的定数の値」を参照してください。

Trusted Path Value = 0

Priv Debug Value = 0

Trusted Network Value = 0

Diskless Boot value = 0

Bypass Selection Agent Value = 0

Print System Value = 0

Label View Value = 1

Label Translate Value = 1

明示的定数の値

PAF_TRUSTED_PATH: すべての管理役割に対し、トラステッドパスフラグが設定されます。管理役割から開始されたプロセスはすべて、このフラグが 1 に設定されます。それ以外のプロセスでは、このフラグは 0 に設定されます。このフラグは照会と削除はできますが、設定はできません。

PAF_PRIV_DEBUG: プロセスが特権デバッグモードで開始される場合、この特権デバッグフラグが 1 に設定されます。このフラグはどのプロセスからでも照会できますが、設定ができるのはトラステッドパスプロセスからのみです。特権デバッグモードを有効にする方法と使用方法は、付録 A 「プログラマーズリファレンス」「特権デバッグ」と『Trusted Solaris 管理の手順』を参照してください。

PAF_NO_TOKMAP: このトラステッドコンピューティングベースのネットワークフラグは、セキュリティ属性を持つパケットを必要とするワークステーションに対し、セキュリティ属性のないパケットを送るトラステッドコンピューティングベースのアプリケーションだけに対して 1 に設定されます。

PAF_DISKLESS_BOOT: このディスクレスブートフラグは、ディスクレスブートサーバーをサポートします。このフラグが 1 に設定される場合、ネットワークパケットヘッダー内のセキュリティ属性情報は送信されません。

PAF_SELAGNT: このセレクションエージェントフラグが 1 に設定されると、データをあるウィンドウから別のウィンドウに移動させるときに、そのプロセスは「選択マネージャ」の管理の対象から外されます。詳細は、「ウィンドウ間のデータ移動」を参照してください。

PAF_PRINT_SYSTEM: この出力システムフラグが 1 に設定されると、クライアントプロセスが出力サブシステムのメンバーとして認識されます。

PAF_LABELVIEW: ユーザーまたは役割がプロセスを開始するとき、label_encodings ファイル内のラベル表示指定または /etc/security/tsol/tsoluser ファイル内のユーザーラベル表示設定に応じてこのフラグが設定されます。ラベル表示は、ADMIN_HIGHADMIN_LOW 管理ラベルがシステム内でユーザーにどのように表示されるかを決定します。tsoluser ファイルが存在する場合、このファイル内の設定が label_encodings ファイル内の設定より優先します。

値 0 は外部表示が使用中であることを示し、値 1 は内部表示が使用中であることを示します。このフラグの値に関係なく、ASCII からバイナリへのラベル変換では、内部名または外部名を使用するために管理ラベルの ASCII 文字列出力を要求できます。詳細は、第 6 章「ラベルのコード例」「バイナリから ASCII への変換」を参照してください。

PAF_LABEL_XLATE: このラベル変換フラグが 1 に設定されている場合、flags= keyword オプションが label_encondings(4) ファイルで使用中であることを示します。このオプションフラグ設定は、このオプションフラグを使用している語句に、15 フラグ中のどのフラグが関連付けられるかを指定します。システムはフラグを使用しませんが、ラベルの使用を具体的に記述したアプリケーションはフラグを使用できます。たとえば、通常のラベルではなくプリンタのバナーラベルだけに現れる特定の語句や、公式な内容のやりとり用のラベルだけに現れる特定の語句を定義できます。このフラグの照会と設定は、トラステッドパスプロセスからだけ行えます。