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_zonename — BSM 監査トークンを生成するためのルーチンライブラリ
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 のために , と によって作成されました。レコードを監査し、イベントストリームフォーマットを監査する Basic Security Module (BSM) インタフェースは、Sun Microsystems によって定義されました。
April 19, 2005 | FreeBSD |