SETREGID(2)

名称
setregid - 実グループ ID と実効グループ ID を設定する

ライブラリ
libc

書式
<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() 関数を使用してください。

戻り値

エラー

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

関連項目
getgid(2), issetugid(2), setegid(2), setgid(2), setuid(2)

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