Trusted Solaris 開発ガイド

データ型、ヘッダーファイル、ライブラリ

この章で説明しているプログラミングインタフェースを使用するには、次のヘッダーファイルが必要です。

#include <tsol/priv.h>

この章の例は、次のライブラリを使用してコンパイルしています。

-ltsol

単一特権

1 つの特権は、priv_t 型の定義で表します。priv_t 型の変数は、定数名または数値 ID である特権 ID で初期化します。コードの読みやすさの点から、定数名を使用するとよいでしょう。

priv_t priv_id = PRIV_FILE_DAC_WRITE;

特権セットの構造

特権セットは、priv_set_t データ構造体で表します。priv_set_t 型の変数は、str_to_priv_set(3) ルーチンまたは PRIV_ASSERT マクロを使用して初期化します。これは、特権 ID (PRIV_ASSERT) を使用して一度に 1 つの特権を表明するか、それともインタフェース str_to_priv_set を使用して 1 つ以上の特権の文字列を特権セットに変換するかによります。

ファイル特権セット

ファイル特権セットの種類は、priv_ftype_t 型の定義で表します。値は、PRIV_ALLOWEDPRIV_FORCED です。

プロセス特権セット

プロセス特権セットの種類は、priv_ptype_t 型の定義で表します。値は、PRIV_EFFECTIVEPRIV_INHERITABLEPRIV_PERMITTEDPRIV_SAVED です。

ファイルセットとプロセスセットの操作

ファイルまたはプロセスの特権セットで実行する操作の種類は、priv_op_t 型の定義で表します。特権セットの種類によって、有効な操作は異なります。「特権セット」を参照してください。

値を次に示します。

PRIV_ON - priv_set_t 構造体で表明された特権を、指定されたファイルまたはプロセスの特権セットでオンにします。

PRIV_OFF - priv_set_t 構造体で表明された特権を、指定されたファイルまたはプロセスの特権セットでオフにします。

PRIV_SET - 指定されたファイルまたはプロセスの特権セット内の特権を、priv_set_t 構造体で表明された特権に設定します。構造体が空に初期化されている場合は、PRIV_SET はその特権セットを none に設定してクリアします。