auditlog サブルーチン

目的

監査レコードを監査証跡ファイルに追加します。

ライブラリー

標準 C ライブラリー (libc.a)

構文

#include <sys/audit.h>
int auditlog ( Event Result Buffer BufferSize)
char *Event;
int Result;
char *Buffer;
int BufferSize;

説明

auditlog サブルーチンは監査レコードを生成します。 カーネル監査ロギング・コンポーネントは、システム監査が有効で、プロセス監査が中断されておらず、 Event パラメーターが現行プロセスの 1 つ以上の監査クラスにある場合に、指定された Event のレコードを追加します。

監査ロガーは、 Event および Result パラメーターを監査ヘッダーに追加し、結果の情報を監査テールとして Buffer パラメーターに組み込むことによって、監査レコードを生成します。

パラメーター

項目 説明
イベント 生成される監査イベントの名前です。 このパラメーターは、監査イベントの名前でなければなりません。 監査イベント名は、15 文字にヌルを加えた長さに切り捨てられます。
result このイベントの結果を記述します。 有効な値は sys/audit.h ファイルに定義され、以下のものが含まれます。
「AUDIT_OK」
イベントは成功しました。
「AUDIT_FAIL」
イベントが失敗しました。
「AUDIT_FAIL_ACCESS」
アクセス制御が拒否されたため、イベントが失敗しました。
「AUDIT_FAIL_DAC」
任意アクセス制御の拒否が原因でイベントが失敗しました。
「AUDIT_FAIL_PRIV」
特権制御の拒否が原因でイベントが失敗しました。
AUDIT_FAIL_AUTH
認証が拒否されたため、イベントが失敗しました。

Result パラメーターのその他の非ゼロ値は、 AUDIT_FAIL 値に変換されます。

buffer 監査レコードのテールを含むバッファーを指します。 このバッファー内の情報のフォーマットは、イベント名によって異なります。
BufferSize 終了ヌルを含む、 Buffer パラメーターのサイズを指定します。

戻り値

正常終了すると、 auditlog サブルーチンは値 0 を戻します。 auditlogが失敗した場合、-1が返され、エラーを示すerrnoグローバル変数が設定される。

auditlog サブルーチンは、監査サブシステム構成ファイルまたはユーザー作成コードの不適切な調整が原因で、レコードの書き込みに失敗したことを示す情報を戻しません。 このような障害の原因としては、構成内の偶発的な省略やタイプミスが考えられます。

エラー・コード

以下のいずれかが該当する場合、 auditlog サブルーチンは失敗します。

項目 説明
EFAULT Event または Buffer パラメーターは、プロセスのアドレス・スペースの外側を指します。
EINVAL 監査システムが中断されているか、初期化されていません。
EINVAL 監査レコードの長さが 32 キロバイトを超えています。
EPERM プロセスには root ユーザー権限がありません。
ENOMEM メモリーの割り当てに失敗した。