SETREGID(2) | FreeBSD System Calls Manual | SETREGID(2) |
名称
setregid — 実グループ ID と実効グループ ID を設定するライブラリ
Standard C Library (libc, -lc)解説
現在のプロセスの実グループ 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 |