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 に変更する以外の変更が指定され ました。 関連項目 |
歴史
setregid() システムコールは 4.2BSD で登場しました。 FreeBSD 10.0 April 16, 1994 FreeBSD 10.0 |