SETRESUID(2)

名称
setresgid, setresuid - ユーザまたはグループの実 ID、実効 ID、退避 ID をセットする

ライブラリ
libc

書式
<sys/types.h> <unistd.h> 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 を渡します。

戻り値

エラー

EPERM
    呼び出し元プロセスが特権を持っておらず、 1 つ以上の ID を現在の実 ID、実効 ID、退避 ID 以外の値に変更しようとしました。

関連項目
getegid(2), geteuid(2), getgid(2), getuid(2), issetugid(2), setgid(2), setregid(2), setreuid(2), setuid(2)

規格
これらのシステムコールを持たないプラットホームはたくさんあります。 これらは GNU libc2 とリンクされた Linux バイナリを FreeBSD でサポートするために用意されています。

歴史
これらのシステムコールは HP-UX で登場しました。