次の例は、auditwrite(3) ルーチンを使用して、内部レコードバッファに情報を追加し (AW_APPEND)、レコードが完全に構築された時点で監査トレールに書き込む (AW_WRITE) ことによって、監査レコードを作成します。この例では示していませんが、監査トレールに書き込まれない完成した監査レコードや部分的な監査レコードは、AW_DISCARD トークンを使用して破棄できます。
int err; bclear_t clearance; bilabel_t inflabel; getclearance(&clearance); stobil("c a", &inflabel, NEW_LABEL, &err); auditwrite(AW_EVENT, "AUE_second_signature", AW_APPEND, AW_END); auditwrite(AW_CLEARANCE, &clearance, AW_APPEND, AW_END); auditwrite(AW_ILABEL, &inflabel, AW_APPEND, AW_END); auditwrite(AW_WRITE, AW_END);
表示用の端末に、次のレコードが表示されます。セキュリティ上の理由から、情報ラベルは 16 進で記述されています。16 進は、hextoalabel(1M) コマンドを使用して、対応する ASCII に変換できます。
header,204,2,second signature requested,,Mon Sep 09 10:26:28 1996, + 5799540000 msec clearance,TS A B ilabel,0xef7d731c00000000000000040000000400000007ef7f942800 0000000000000000000000000000000000000000000000ffff1d8000000 000000000000000000000000000 subject,zelda,zelda,staff,zelda,staff,6098,5879,0 0 phoenix slabel,C return,success,0 |