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

setregid

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

setregid




書式

     #include <unistd.h>

     int
     setregid(gid_t rgid, gid_t egid);


解説

     現在のプロセスの実グループ ID と実効グループ ID を引数で指定されたように
     設定します。特権のないユーザは、実グループ ID をその実効グループ ID に、
     または実効グループ ID をその実グループ ID に変更できます。スーパユーザだ
     けがその他の変更を行えます。

     実グループ ID と実効グループ ID のどちらかに値 -1 を指定すると、システム
     は -1 パラメータの代わりに現在の ID で置き換えます。

     setregid() 関数は、 set-group-ID プログラム内の実グループ ID と実効グルー
     プ ID をスワップし、 set-group-ID 値を一時的に放棄できるようにするために
     作られました。この関数は正しく機能せず、その目的は、今では setegid() 関数
     ( setuid(2) を参照 ) を使用するとより良く達成できます。

     実グループ ID と実効グループ ID を同じ値に設定するときは、標準の setgid()
     関数を使用してください。


戻り値

     関数 setregid() は、処理が成功すると値 0 を返します。そうでない場合、値
     -1 が返され、グローバル変数 errno が設定されてエラーを示します。


エラー

     [EPERM]            現在のプロセスがスーパユーザでなく、その実効グループ
                        ID をその実グループ ID に変更する以外の変更が指定され
                        ました。


関連項目

     getgid(2), issetugid(2), setegid(2), setgid(2), setuid(2)


歴史

     setregid() システムコールは 4.2BSD で登場しました。

FreeBSD 4.4                     April 16, 1994                     FreeBSD 4.4

ABELNET VPSサービス