tail head cat sleep
QR code linking to this page

manページ  — SETREUID

名称

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 をその実ユーザ ID に変更できます。 スーパユーザだけがその他の変更を行えます。

実ユーザ ID が変更された場合 (つまり ruid が -1 ではない)、 もしくは実効ユーザ ID がその実ユーザ ID 以外へと変更された場合、 退避ユーザ ID はその実効ユーザ ID へ設定されます。

setreuid() システムコールはユーザ ID 設定プログラム内で実ユーザ 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 に 変更する以外の変更が指定されました。

関連項目

getuid(2), issetugid(2), seteuid(2), setuid(2)

歴史

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

SETREUID (2) February 8, 2001

tail head cat sleep
QR code linking to this page


このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.

LISP = Lots of Irritating Silly Parentheses