SETRESUID(2) FreeBSD システムコールマニュアル SETRESUID(2)
名称
getresgid, getresuid, setresgid, setresuid − ユーザまたはグループの実 ID、実効 ID、退避 ID を取得もしくは設定する |
ライブラリ
標準 C ライブラリ (libc, −lc) |
書式
#include <sys/types.h> int |
getresgid(gid_t *rgid, gid_t *egid, gid_t *sgid); int |
getresuid(uid_t *ruid, uid_t *euid, uid_t *suid); int |
setresgid(gid_t rgid, gid_t egid, gid_t sgid); int |
setresuid(uid_t ruid, uid_t euid, uid_t suid); |
解説 |
setresuid() システムコールは、現在のプロセスのユーザの実 ID、実効 ID、退 避 ID をセットします。同様に setresgid() はグループの実 ID、実効 ID、退避 ID をセットします。 特権を持つプロセスは、これらの ID を任意の値にセットできます。特権を持た ないプロセスは、新しい ID のそれぞれが現在の ID のうちのいずれかと一致し なければならないという制限を受けます。 値を変更したくない場合は、対応する引数に -1 を渡します。 getresgid() 呼び出しと getresuid() 呼び出しは、それぞれ現在のプロセスの ユーザもしくはグループの実 ID、実効 ID、退避 ID を取得します。 |
戻り値
成功して終了したときには値 0 を返します。そうでない場合、値 -1 が返され、 グローバル変数 errno が設定されてエラーを示します。 |
エラー
[EPERM]
呼び出し元プロセスが特権を持っておらず、1 つ以上の ID を現在の実 ID、実効 ID、退避 ID 以外の値に変更しようと しました。 [EFAULT] 関連項目 |
getegid(2), geteuid(2), getgid(2), getuid(2), issetugid(2), setgid(2), setregid(2), setreuid(2), setuid(2) |
規格
これらのシステムコールを持たないプラットホームはたくさんあります。これら は GNU libc2 とリンクされた Linux バイナリを FreeBSD でサポートするために 用意されています。 |
歴史
これらの関数は HP-UX ではじめて登場しました。 FreeBSD 10.0 April 13, 2001 FreeBSD 10.0 |