EN JA
SETREGID(2)
SETREGID(2) FreeBSD System Calls Manual SETREGID(2)

名称

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

ライブラリ

Standard C Library (libc, -lc)

書式

#include < unistd.h>

int
setregid( gid_t rgid, gid_t egid);

解説

現在のプロセスの実グループ ID と実効グループ ID は、引数に設定されます。実グループ ID が変更されるなら、保存されたグループ ID が、実効グループ ID の新しい値に変更されます。

特権がないユーザは、実グループ ID を実効グループ ID に、逆もまだ同様に変更することができます。スーパユーザだけが他の変更を行うことができます。

実グループ ID または実効グループ ID のいずれかに -1 の値を指定することによって、システムは、強制的に -1 の引数の代わりに現在の ID を置き換えます。

setregid() システムコールは、一時的にセットグループ ID (set-group-ID) の値を放棄するセットグループ ID (set-group-ID) プログラムで実グループ ID と実効グループ ID を交換することを可能にすることを目的としていました。このシステムコールは、正確に動作しませんでした、その目的は、 setegid(2) システムコールの使用によって現在よりよく役目を果たしています。

実グループ ID と実効グループ ID を同じ値に設定するとき、標準の setgid() システムコールが使用されます。

戻り値

The setregid() function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

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

歴史

setregid() は、 4.2BSD で登場しました。
April 16, 1994 FreeBSD