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

名称

setreuid実ユーザ ID と実効ユーザ ID を設定する

ライブラリ

Standard C Library (libc, -lc)

書式

#include < unistd.h>

int
setreuid( uid_t ruid, uid_t euid);

解説

現在のプロセスの実ユーザ 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