SETRESUID(2)

名前
setresuid, setresgid - 実、実効、保存、ユーザーIDまたはグループIDを設定する

書式
#include <unistd.h>

int setresuid(uid_t ruid, uid_t euid, uid_t suid);
int setresgid(gid_t rgid, gid_t egid, gid_t sgid);

説明
setresuid (は Linux 2.1.44 で導入された) は呼び出したプロセスの実(real)、実効(effective)、保存(saved)ユーザーIDを 設定する。 非特権ユーザーのプロセス(例えば、その実、実効、保存ユーザーID がゼロで ないプロセス)はそれぞれの実、実効、保存ユーザーIDを、 現在のユーザーID、現在の実効ユーザーID、現在の保存ユーザーID のどれかに変更することができる: スーパーユーザーは実、実効、保存ユーザーID を自由な値に設定できる。 パラメーターのどれかが -1 の場合はその値は変更されずに残される。 全く同じように、 setresgid は呼び出したプロセスの実、実効、保存グループIDを設定する。 実、実効、保存ユーザーID がゼロでないプロセスは同様の制限を受ける。

返り値
成功した場合はゼロが返される。エラーの場合は -1 が返され、 errno が適切に設定される。

エラー

EPERM
    呼び出したプロセスが特権を持たないのに ID を許されていない値に変更し ようとした。

準拠
このコールは Linux 特有である。

関連項目
getuid(2), setuid(2), setreuid(2), getresuid(2)