setreuid(2) FreeBSD 一般コマンドマニュアル

setreuid

前のページ 上に戻る 次のページ

setreuid




書式

     #include <unistd.h>

     int
     setreuid(uid_t ruid, uid_t euid);


解説

     現在のプロセスの実ユーザ ID と実効ユーザ ID が引数に従って設定されます。
     ruid または euid が -1 の場合、現在の UID が指定されたことになります。特
     権のないユーザは、実ユーザ ID をその実効ユーザ ID に、または実効ユーザ ID
     をその実ユーザ ID に変更できます。スーパユーザだけがその他の変更を行えま
     す。

     setreuid() 関数は set-user-ID プログラム内で実ユーザ ID と実効ユーザ ID
     をスワップし、 set-user-ID の値を一時的に放棄するために使われてきました。
     この目的は、現在では seteuid() 関数 ( setuid(2) を参照 ) を使用するとより
     良く達成できます。

     実ユーザ ID と実効ユーザ ID を同じ値に設定するときは、標準の setuid() 関
     数を使用するようにしてください。


戻り値

     関数 setreuid() は、処理が成功すると値 0 を返します。そうでない場合、値
     -1 が返され、グローバル変数 errno が設定されてエラーを示します。


エラー

     [EPERM]            現在のプロセスがスーパユーザでなく、実効ユーザ ID を実
                        ユーザ ID に変更する以外の変更が指定されました。


関連項目

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


歴史

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

FreeBSD 4.4                    February 8, 2001                    FreeBSD 4.4

ABELNET VPSサービス