スポンサーリンク

SETREGID(2) FreeBSD システムコールマニュアル SETREGID(2)

名称

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

ライブラリ

標準 C ライブラリ (libc, −lc)

書式

#include <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() システムコールを使用してください。

戻り値

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

エラー

       [EPERM]

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

関連項目

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

歴史

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

FreeBSD 10.0 April 16, 1994 FreeBSD 10.0

スポンサーリンク