SETRESUID(2)        Linux Programmer's Manual        SETRESUID(2)

NAME
       setresuid,  setresgid - set real, effective and saved user
       or group ID

SYNOPSIS
       #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);

DESCRIPTION
       setresuid (introduced in  Linux  2.1.44)  sets  the  real,
       effective and saved user ID's of the current process.

       Unprivileged  user processes (i.e., processes with each of
       real, effective and saved user ID nonzero) may change  the
       real,  effective  and  saved  user ID, each to one of: the
       current uid, the current  effective  uid  or  the  current
       saved uid.

       The  super-user  may set real, effective and saved user ID
       to arbitrary values.

       If one of the  parameters  equals  -1,  the  corresponding
       value is not changed.

       Completely analogously, setresgid sets the real, effective
       and saved group ID's of the current process, with the same
       restrictions  for  processes  with each of real, effective
       and saved user ID nonzero.

RETURN VALUE
       On success, zero is returned.  On error, -1  is  returned,
       and errno is set appropriately.

ERRORS
       EPERM  The current process was not privileged and tried to
              change the IDs is a not allowed way.

CONFORMING TO
       This call is Linux-specific.

SEE ALSO
       getuid(2),  setuid(2),  getreuid(2),  setreuid(2),  getre-
       suid(2)

Linux 2.1.44               16 July 1997                         1