EN JA
AU_IO(3)
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 を返します。

関連項目

free(3), libbsm(3)

歴史

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 のために Robert Watson, Wayne SalamonSuresh Krishnaswamy によって作成されました。

レコードを監査し、イベントストリームフォーマットを監査する Basic Security Module (BSM) インタフェースは、Sun Microsystems によって定義されました。

バグ

errno 変数はエラーが生じた場合、常に適切に設定されるとはかぎりません。
August 4, 2009 FreeBSD