EN JA
AU_TOKEN(3)
AU_TOKEN(3) FreeBSD Library Functions Manual AU_TOKEN(3)

名称

au_to_arg32, au_to_arg64, au_to_arg, au_to_attr64, au_to_data, au_to_exit, au_to_groups, au_to_newgroups, au_to_in_addr, au_to_in_addr_ex, au_to_ip, au_to_ipc, au_to_ipc_perm, au_to_iport, au_to_opaque, au_to_file, au_to_text, au_to_path, au_to_process32, au_to_process64, au_to_process, au_to_process32_ex, au_to_process64_ex, au_to_process_ex, au_to_return32, au_to_return64, au_to_return, au_to_seq, au_to_sock_inet32, au_to_sock_inet128, au_to_sock_inet, au_to_socket_ex, au_to_subject32, au_to_subject64, au_to_subject, au_to_subject32_ex, au_to_subject64_ex, au_to_subject_ex, au_to_me, au_to_exec_args, au_to_exec_env, au_to_header, au_to_header32, au_to_header64, au_to_header_ex, au_to_header32_ex, au_to_trailer, au_to_zonenameBSM 監査トークンを生成するためのルーチン

ライブラリ

Basic Security Module User Library (libbsm, -lbsm)

書式

#include < bsm/libbsm.h>

token_t *
au_to_arg32( char n, const char *text, u_int32_t v);

token_t *
au_to_arg64( char n, const char *text, u_int64_t v);

token_t *
au_to_arg( char n, const char *text, u_int32_t v);

token_t *
au_to_attr32( struct vattr *attr);

token_t *
au_to_attr64( struct vattr *attr);

token_t *
au_to_attr( struct vattr *attr);

token_t *
au_to_data( char unit_print, char unit_type, char unit_count, const char *p);

token_t *
au_to_exit( int retval, int err);

token_t *
au_to_groups( int *groups);

token_t *
au_to_newgroups( u_int16_t n, gid_t *groups);

token_t *
au_to_in_addr( struct in_addr *internet_addr);

token_t *
au_to_in_addr_ex( struct in6_addr *internet_addr);

token_t *
au_to_ip( struct ip *ip);

token_t *
au_to_ipc( char type, int id);

token_t *
au_to_ipc_perm( struct ipc_perm *perm);

token_t *
au_to_iport( u_int16_t iport);

token_t *
au_to_opaque( const char *data, u_int16_t bytes);

token_t *
au_to_file( const char *file, struct timeval tm);

token_t *
au_to_text( const char *text);

token_t *
au_to_path( const char *text);

token_t *
au_to_process32( au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid);

token_t *
au_to_process64( au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid);

token_t *
au_to_process32_ex( au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid);

token_t *
au_to_process64_ex( au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid);

token_t *
au_to_return32( char status, u_int32_t ret);

token_t *
au_to_return64( char status, u_int64_t ret);

token_t *
au_to_return( char status, u_int32_t ret);

token_t *
au_to_seq( long audit_count);

token_t *
au_to_sock_inet32( struct sockaddr_in *so);

token_t *
au_to_sock_inet128( struct sockaddr_in6 *so);

token_t *
au_to_sock_int( struct sockaddr_in *so);

token_t *
au_to_socket_ex( u_short so_domain, u_short so_type, struct sockaddr *sa_local, struct sockaddr *sa_remote);

token_t *
au_to_subject32( au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid);

token_t *
au_to_subject64( au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid);

token_t *
au_to_subject( au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_t *tid);

token_t *
au_to_subject32_ex( au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid);

token_t *
au_to_subject64_ex( au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid);

token_t *
au_to_subject_ex( au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid);

token_t *
au_to_me( void);

token_t *
au_to_exec_args( char **argv);

token_t *
au_to_exec_env( char **envp);

token_t *
au_to_header( int rec_size, au_event_t e_type, au_emod_t emod);

token_t *
au_to_header32( int rec_size, au_event_t e_type, au_emod_t emod);

token_t *
au_to_header64( int rec_size, au_event_t e_type, au_emod_t e_mod);

token_t *
au_to_header_ex( int rec_size, au_event_t e_type, au_emod_t e_mod);

token_t *
au_to_header32_ex( int rec_size, au_event_t e_type, au_emod_t e_mod);

token_t *
au_to_trailer( int rec_size);

token_t *
au_to_zonename( const char *zonename);

解説

これらのインタフェースは、様々なデータ型のための token_t によって表される BSM 監査トークンの割り付けをサポートします。

au_errno_to_bsm(3) は、エラー番号が au_to_return(), au_to_return32() と au_to_return64() に渡される前に、ローカルの errno(2) エラーを BSM エラー番号に変換するために使用されなければなりません。

戻り値

成功すれば、 token_t へのポインタが返されます。割り付けられた token_t は、 au_free_token(3) への呼び出しによって解放することができます。失敗すれば、 NULL が返され、エラー状態は、 errno を通して返されます。

歴史

OpenBSM 実装は、2004 年に Apple Computer Inc. との契約に基づき、 McAfee Inc. のセキュリティ部門、McAfee Research によって作成されました。その後にそれは、OpenBSM 配布のための基盤として TrustedBSD Project によって採用されました。

作者

このソフトウェアは、Apple Computer Inc. との契約に基づき、 McAfee Inc. のセキュリティ研究部門、McAfee Research のために Robert Watson, Wayne SalamonSuresh Krishnaswamy によって作成されました。

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

April 19, 2005 FreeBSD