SETREGID(2)

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

ライブラリ
libc

書式
<unistd.h> int setregid(gid_t rgid, gid_t egid)

解説
現在のプロセスの実グループ ID と実効グループ ID を引数で 指定されたように設定します。 実グループ ID が変更されると、退避グループ ID は新しい実効グループ ID の 値に変更されます。

特権のないユーザは、実グループ ID をその実効グループ ID に、または 実効グループ ID をその実グループ ID に変更できます。 スーパユーザだけがその他の変更を行えます。

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

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

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

戻り値

エラー

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

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

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