setresuid(2) FreeBSD 一般コマンドマニュアル

setresuid

前のページ 上に戻る 次のページ

setresuid


     Standard C Library (libc, -lc)


書式

     #include <sys/types.h>
     #include <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 を渡します。


戻り値

     成功して終了したときには値 0 を返します。そうでない場合、値 -1 が返され、
     グローバル変数 errno が設定されてエラーを示します。


エラー

     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 で登場しました。

FreeBSD 4.4                    January 17, 2000                    FreeBSD 4.4

ABELNET VPSサービス