AU_USER(3) | FreeBSD Library Functions Manual | AU_USER(3) |
名称
setauuser, endauuser, getauuserent, getauuserent_r, getauusernam, getauusernam_r, au_user_mask, getfauditflags — audit_user データベースから情報を検索するライブラリ
Basic Security Module User Library (libbsm, -lbsm)書式
#include < bsm/libbsm.h> void
setauuser( void);
void
endauuser( void);
struct au_user_ent *
getauuserent( void);
struct au_user_ent *
getauuserent_r( struct au_user_ent *u);
struct au_user_ent *
getauusernam( const char *name);
struct au_user_ent *
getauusernam_r( struct au_user_ent *u, const char *name);
int
au_user_mask( char *username, au_mask_t *mask_p);
int
getfauditflags( au_mask_t *usremask, au_mask_t *usrdmask, au_mask_t *lastmask);
解説
これらのインタフェースは、ユーザごとの監査設定について記述された audit_user(5) データベースからの情報を検索するために使用されます。監査ユーザエントリは、 au_name にユーザの名前、 au_always に常に監査するイベント、および au_never に決して監査しないイベントを格納する、 au_user_ent によって記述されます。getauuserent() 関数は audit_user(5) データベースで見つかる次のユーザ、または関数がまだ呼び出されていないなら、最初のユーザを返します。それ以上レコードが利用可能でないなら、 NULL を返します。
getauusernam() 関数は名前によってユーザを検索します。適合するクラスを見つけることができないなら、 NULL を返します。
setauuser() 関数は audit_user(5) データベースを通して繰返し子をリセットし、 getauuserent() への次の呼び出しでファイルの始まりから再び開始するようにします。
endauuser() 関数は、オープンされていれば、 audit_user(5) データベースをクローズします。
au_user_mask() 関数は username によって識別されたユーザのための mask_p を通して返される新しいセッション監査マスクを計算します。ユーザ監査設定が見つけられないなら、 getacflg(3) によって返されたデフォルトシステム監査プロパティが使用されます。結果のマスクは setaudit(2) か関連する異形への呼び出しで設定されます。
getfauditflags() 関数は、システム監査マスクでパラメータとして渡された監査マスクを結合することによって、新しいプロセス監査状態を生成します。
歴史
OpenBSM 実装は、2004 年に Apple Computer Inc. との契約に基づき、 McAfee Inc. のセキュリティ部門、McAfee Research によって作成されました。その後にそれは、OpenBSM 配布のための基盤として TrustedBSD Project によって採用されました。作者
このソフトウェアは、Apple Computer Inc. との契約に基づき、 McAfee Inc. のセキュリティ研究部門、McAfee Research のために , と によって作成されました。レコードを監査し、イベントストリームフォーマットを監査する Basic Security Module (BSM) インタフェースは、Sun Microsystems によって定義されました。
バグ
これらのルーチンは現在、見つけられないエントリとデータベースにアクセスのエラーを区別できません。 NULL を返すとき、 errno を通してエラーを返すように実装を変更すべきです。April 19, 2005 | FreeBSD |