SETREUID(2) | FreeBSD System Calls Manual | SETREUID(2) |
名称
setreuid — 実ユーザ ID と実効ユーザ ID を設定するライブラリ
Standard C Library (libc, -lc)解説
現在のプロセスの実ユーザ ID と実効ユーザ ID は、引数にしたがって設定されます。 ruid または euid が -1 であるなら、現在の UID は、システムによって書き込まれます。特権がないユーザは、実ユーザ ID を実効ユーザ ID に変更でき、逆もまた同様に変更できます。スーパユーザだけが他の変更を行うことができます。実ユーザ ID がが変更される (すなわち、 ruid が -1 でない) か、または実効ユーザ ID が実ユーザ ID 以外の何かに変更されるなら、退避されたユーザ ID が、実効ユーザ ID に設定されます。
setreuid() システムコールは、一時的にセットユーザ ID (set-user-ID) 値を放棄するためにセットユーザ ID (set-user-ID) プログラムで実ユーザ ID と実効ユーザ ID を交換するために使用されていました。この目的は、現在 seteuid(2) システムコールの使用によって、よりよく役目を果たします。
実ユーザ ID と実効ユーザ ID を同じ値に設定するとき、標準の setuid() システムコールが、好まれます。
戻り値
The setreuid() 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 に変更すること以外の変更です。
歴史
setreuid() システムコールは、 4.2BSD で登場しました。February 8, 2001 | FreeBSD |