監査ファイル・フォーマット
目的
監査データ構造を記述します。
説明
/usr/include/sys/audit.h ファイルには、監査システム・コマンド、サブルーチン、およびデーモンの構造体と定数の定義が入っています。
監査ビンの形式
監査ビンのフォーマットは、 aud_bin 構造体によって記述されます。 監査証跡は一連のビンで構成され、各ビンの先頭はビン・ヘッドで、末尾はビン・テールでなければなりません。 aud_bin 構造体には、以下のフィールドが含まれます。
| 項目 | 説明 |
|---|---|
| bin_magic | ビンのマジック・ナンバー (0xf0f0)。 |
| bin_version | 保管箱のバージョン番号 (0)。 |
| bin_tail | ビンが監査証跡のヘッドまたはテールのどちらを記述しているかを示します。
|
| bin_len | ビンのレコードの (アンパックされた) 長さ。 ゼロ以外の値は、ビンにテール・レコードがあることを示します。 |
| bin_plen | ビンのレコードの現在の長さ (パックされている可能性があります)。 |
| bin_time | 頭部または尾部が書き込まれた時刻。 |
| bin_reserved1 | 現在は未使用。 |
| bin_reserved2 | 現在は未使用。 |
監査クラスの形式
監査クラスのフォーマットは、以下のフィールドを含む audit_class 構造体によって記述されます。
| 項目 | 説明 |
|---|---|
| ae_name | 監査クラスの名前へのポインターです。 |
| ae_list | この監査クラスのヌル終了の監査イベント名のリストへのポインター。 リストは、ヌル名 (先行ヌル・バイトまたは 2 つの連続したヌル・バイト) で終了します。 注: イベント名およびクラス名は、有効文字数が 15 文字に制限されています。
|
| ae_len | イベント・リストの長さ。ae_listメンバー。 この長さには、終了ヌル・バイトが含まれます。 AUDIT_SET 操作では、呼び出し側は、リストの実際の長さ (バイト単位) を示すようにこのメンバーを設定する必要があります。ae_list. AUDIT_GET または AUDIT_LOCK 操作の場合、 auditevents サブルーチンは、リストの実際のサイズを示すようにこのメンバーを設定します。 |
監査オブジェクトの形式
監査オブジェクトのフォーマットは、 o_event 構造体によって記述されます。この構造体には、以下のフィールドが含まれます。
| 項目 | 説明 |
|---|---|
| o_type | 命名スペースに関して、オブジェクトのタイプを指定します。 現在、以下の 1 つのオブジェクト命名スペースのみがサポートされています。
|
| o_name | オブジェクトの名前を指定します。 |
| o_event | オブジェクトへのアクセス時に生成されるイベント名の配列を指定します。 イベント名は、末尾のヌルを含めて、現在 16 バイトに制限されていることに注意してください。 この配列内のイベント名の索引は、アクセス・モードに対応しています。 有効な索引は audit.h ファイルに定義されており、以下のものが含まれています。
注: C++ コンパイラーは、 o_event が構造体とその構造体内のフィールドの両方として定義されていることを示す警告を生成します。 o_event フィールドは C++ 内で使用できますが、 O_EVENT_RENAMEを定義することによって警告をバイパスできます。 これにより、 o_event フィールドが o_event_arrayに置き換えられます。 o_event はデフォルト・フィールドです。
|
監査レコード・フォーマット
各監査レコードは、固定長イベント ID のリストで構成され、各 ID の後に可変長テールを続けることができます。 監査レコードのフォーマットは、 aud_rec 構造体によって記述されます。この構造体には、イベントを識別するための以下のフィールドが含まれています。
| 項目 | 説明 |
|---|---|
| ah_magic | 監査レコードのマジック・ナンバー。 |
| ah_length | 監査レコードの末尾の部分の長さ。 |
| ah_event[16] | イベントの名前と NULL 終端子。 |
| ah_result | イベントが正常な操作を記述しているかどうかを示します。 このフィールドの値は、以下のとおりです。
|
aud_rec 構造体には、ユーザーとプロセスを識別するための以下のフィールドも含まれています。
| 項目 | 説明 |
|---|---|
| ah_ruid | 実ユーザー ID。これは、このレコードを書き込んだプロセスを作成したユーザーの ID 番号です。 |
| ah_luid | このレコードを書き込んだプロセスを作成したユーザーのログイン ID。 |
| ah_name[16] | NULL 終止符を伴う、プロセスのプログラム名。 |
| ah_pid | このレコードを書き込んだプロセスのプロセス ID。 |
| ah_ppid | このプロセスの親プロセスのプロセス ID。 |
| ah_time | この監査レコードが書き込まれた時間 (秒)。 |
| ah_ntime | 次の値からのナノ秒のオフセットah_time. |
レコード・テールは、このヘッダー情報の後に続きます。