AU_IO(3) | FreeBSD Library Functions Manual | AU_IO(3) |
名称
au_fetch_tok, au_print_tok, au_print_flags_tok, au_read_rec — 監査レコードに関する I/O を実行するライブラリ
Basic Security Module User Library (libbsm, -lbsm)書式
#include < bsm/libbsm.h> int
au_fetch_tok( tokenstr_t *tok, u_char *buf, int len);
void
au_print_tok( FILE *outfp, tokenstr_t *tok, char *del, char raw, char sfrm);
void
au_print_flags_tok( FILE *outfp, tokenstr_t *tok, char *del, int oflags);
int
au_read_rec( FILE *fp, u_char **buf);
解説
これらのインタフェースは、監査記録、バイトストリームからの監査レコード (記録) を内在化、トークンを生かデフォルト文字列のいずれかに変換する、およびファイルから単一のレコードを読み込むことを含む、入出力 (I/O) をサポートします、au_fetch_tok() 関数は、長さ len バイトの渡されたバッファ buf からトークンを読み込み、 tok を通してトークンへのポインタを返します。
au_print_tok() 関数は、 raw が 0 以外に設定されているなら、デフォルトモードまたは生のモードのいずれかで、ファイル出力ストリーム outfp にトークン tok の文字列形式を印刷 (出力) します。印刷するとき、デリミタ del が使用されます。 au_print_flags_tok() 関数は、 au_print_tok() の置換です。 oflags は、どのように出力を書式化しなければならないか制御し、次のフラグを論理和 (OR) することによって指定されます:
-
AU_OFLAG_NONE
- デフォルトの形式を使用します。
-
AU_OFLAG_NORESOLVE
- それらの数値の形式でユーザとグループ ID のままとします。
-
AU_OFLAG_RAW
- 生の数値の形式を使用します。
-
AU_OFLAG_SHORT
- 短い形式を使用します。
-
AU_OFLAG_XML
- XML 形式を使用します。
フラグオプション AU_OFLAG_SHORT と AU_OFLAG_SHORT は、排他的で、ともに使用されるべきではありません。
au_read_rec() 関数は、ファイルストリーム fp から監査記録を読み込み、呼び出し側が free(3) を使用して解放しなければならない、 *buf を通して記録を含む割り付けられたメモリバッファを返します。
これらのルーチンの典型的な使用法は、 fopen(3) でファイルをオープンして、次に au_read_rec() を呼び出すことによって、連続してファイルからレコード (記録) を読み込みます。それぞれのレコードは、バッファで au_fetch_tok() への連続した呼び出しを通して構成要素トークンに分類され、 stdout のような出力ストリームに各トークンを印刷するために au_print_flags_tok() を呼び出します。それぞれのレコード (記録) の処理の完了時に、記録されたバッファを解放するために free(3) の呼び出しが使用されます。最後に、ソースストリームは fclose(3) への呼び出しでクローズされます。
戻り値
au_fetch_tok() と au_read_rec() 関数は、成功すれば 0 を返すか、または失敗すれば errno を通して返される追加エラー情報とともに-1 を返します。歴史
OpenBSM 実装は、2004 年に Apple Computer Inc. との契約に基づき、 McAfee Inc. のセキュリティ部門、McAfee Research によって作成されました。その後にそれは、OpenBSM 配布のための基盤として TrustedBSD Project によって採用されました。au_print_flags_tok() 関数は、 au_print_tok() の置換として Stacey Son によって追加されたので、API を変更せずに新しい出力形式のフラグを容易に追加することができます。 au_print_tok() は、廃止予定ですが、古いコードをサポートするために API に残されています。
作者
このソフトウェアは、Apple Computer Inc. との契約に基づき、 McAfee Inc. のセキュリティ研究部門、McAfee Research のために , と によって作成されました。レコードを監査し、イベントストリームフォーマットを監査する Basic Security Module (BSM) インタフェースは、Sun Microsystems によって定義されました。
バグ
errno 変数はエラーが生じた場合、常に適切に設定されるとはかぎりません。August 4, 2009 | FreeBSD |