名前 | 形式 | 機能説明 | 戻り値 | 属性 | エラー | 注意事項 | 関連項目
#include <bsm/audit.h>int getpeerinfo(int fd, au_peergroupinfo_t *grpinfo, au_peermiscinfo_t *peerinfo);
ソケットまたは TLI ファイル記述子 fd によって指定されたピアのピアプロセスの監査属性を返します。grpinfo または peerinfo が NULL の場合は、対応する情報は取得できません。
au_peergroupinfo 構造体は次の形式をとります。
struct peergroupinfo {
ulong_t peer_ngroups /* number of elements obtained */
gid_t peer_groups[NGROUPS_UMAX]; /* peer's supplemental groups */
};
残りの属性は peerinfo で返されます。peerinfo はタイプ struct au_peermiscinfoを持ち、呼び出し元プロセスによって割り当てられています。au_peermiscinfo構造体は次の形式をとります。
struct au_peermiscinfo{
uid_t peer_ruid; /* peer's real user id */
gid_t peer_rgid; /* peer's real group id */
auditinfo_t peer_audit; /* peer's audit characteristic's */
};
auditinfo_tは、次の形式を持つタイプ struct auditinfo です。
struct auditinfo{
au_id_t ai_auid; /* audit ID */
au_mask_t ai_mask; /* preselection mask */
au_tid_t ai_termid; /* audit terminal ID */
au_asid_t ai_asid; /* audit session ID */
};
getpeerinfo()では、ピアから peerinfo 属性を得るためには、プロセスの有効なセットの中に PRIV_PROC_AUDIT_TCB または PRIV_PROC_AUDIT_APPL 特権が表明されている必要があります。grpinfo だけを取得する場合は特権は必要ありません。
getpeerinfo() は、成功時には 0 を返します。失敗時には、負の値を返し、 errno を設定してエラーを示します。
次の属性の説明については、attributes(5) のマニュアルページを参照してください。
| 属性タイプ | 属性値 |
|---|---|
| 使用条件 | SUNWcsl |
| MT レベル | MT- 安全 |
fd は有効な記述子ではありません。
fd はソケットでも TLI インタフェースでもありません。
システム内に操作を実行するのに充分な資源がありませんでした。
サーバとの接続を確立できませんでした。
内部エラーがありました。fd がホストで認識されないピアプロセスを指しています。
ピアで現在有効なポートはありません。
タイプが SOCK_DGRAM または SOCK_STREAM でなく、ローカルピアソケットまたは TLI 記述子のいずれかが AF_INET でありません。
呼び出し元が正しい特権を持っていません。
監査モジュールが有効な Trusted Solaris システムでのみ使用可能 Trusted Solaris 環境では監査モジュールがデフォルトで有効です。