auditlog サブルーチン
目的
監査レコードを監査証跡ファイルに追加します。
ライブラリー
標準 C ライブラリー (libc.a)
構文
#include <sys/audit.h>
int auditlog ( Event, Result, Buffer, BufferSize)
char *Event;
int Result;
char *Buffer;
int BufferSize;
char *Event;
int Result;
char *Buffer;
int BufferSize;
説明
auditlog サブルーチンは監査レコードを生成します。 カーネル監査ロギング・コンポーネントは、システム監査が有効で、プロセス監査が中断されておらず、 Event パラメーターが現行プロセスの 1 つ以上の監査クラスにある場合に、指定された Event のレコードを追加します。
監査ロガーは、 Event および Result パラメーターを監査ヘッダーに追加し、結果の情報を監査テールとして Buffer パラメーターに組み込むことによって、監査レコードを生成します。
パラメーター
| 項目 | 説明 |
|---|---|
| イベント | 生成される監査イベントの名前です。 このパラメーターは、監査イベントの名前でなければなりません。 監査イベント名は、15 文字にヌルを加えた長さに切り捨てられます。 |
| result | このイベントの結果を記述します。 有効な値は sys/audit.h ファイルに定義され、以下のものが含まれます。
Result パラメーターのその他の非ゼロ値は、 AUDIT_FAIL 値に変換されます。 |
| buffer | 監査レコードのテールを含むバッファーを指します。 このバッファー内の情報のフォーマットは、イベント名によって異なります。 |
| BufferSize | 終了ヌルを含む、 Buffer パラメーターのサイズを指定します。 |
戻り値
正常終了すると、 auditlog サブルーチンは値 0 を戻します。 auditlogが失敗した場合、-1が返され、エラーを示すerrnoグローバル変数が設定される。
auditlog サブルーチンは、監査サブシステム構成ファイルまたはユーザー作成コードの不適切な調整が原因で、レコードの書き込みに失敗したことを示す情報を戻しません。 このような障害の原因としては、構成内の偶発的な省略やタイプミスが考えられます。
エラー・コード
以下のいずれかが該当する場合、 auditlog サブルーチンは失敗します。
| 項目 | 説明 |
|---|---|
| EFAULT | Event または Buffer パラメーターは、プロセスのアドレス・スペースの外側を指します。 |
| EINVAL | 監査システムが中断されているか、初期化されていません。 |
| EINVAL | 監査レコードの長さが 32 キロバイトを超えています。 |
| EPERM | プロセスには root ユーザー権限がありません。 |
| ENOMEM | メモリーの割り当てに失敗した。 |