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

setegid

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

setegid




書式

     #include <sys/types.h>
     #include <unistd.h>

     int
     setuid(uid_t uid);

     int
     seteuid(uid_t euid);

     int
     setgid(gid_t gid);

     int
     setegid(gid_t egid);


解説

     setuid() 関数は、現在のプロセスの実ユーザ ID と実効ユーザ ID と退避グルー
     プ ID を指定した値に設定します。 setuid() 関数が許容されるのは、指定の ID
     がプロセスの実ユーザ ID または実効ユーザ ID に等しい場合、または実効ユー
     ザ ID がスーパユーザのものと等しい場合です。

     setgid() 関数は、現在のプロセスの実グループ ID と実効グループ ID と退避グ
     ループ ID を指定した値に設定します。 setgid() 関数が許容されるのは、指定
     の ID がプロセスの実グループ ID または実効グループ ID に等しい場合、また
     は実効ユーザ ID がスーパユーザのものと等しい場合です。

     seteuid() 関数 (setegid()) は、現在のプロセスの実効ユーザ (グループ ID)
     を設定します。実効ユーザ ID は実ユーザ ID または退避ユーザ ID ( intro(2)execve(2) を参照 ) の値に設定できます。これを利用し、 set-user-ID 実行
     可能ファイルの実効ユーザ ID を実ユーザ ID に切り替えた後に、 set-user-ID
     値に戻ることで、元の権限を得ることができます。同じように、実効グループ ID
     は、実グループ ID または退避ユーザ ID の値に設定できます。


戻り値

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


エラー

     本関数は次の場合に失敗します:

     [EPERM]            ユーザがスーパユーザでない場合、または指定された uid
                        がその実 ID、実効 ID、または退避 ID でない場合。


関連項目

     getgid(2), getuid(2), issetugid(2), setregid(2), setreuid(2)


規格

     setuid() 関数と setgid() 関数は ISO/IEC 9945-1:1990 (``POSIX.1'') 仕様と
     互換性があります。ただし、 _POSIX_SAVED_IDS は付録 B.4.2.2 の許可された拡
     張で定義されていません。 seteuid() 関数と setegid() 関数は、

ABELNET VPSサービス