Provided by: manpages-dev_3.01-1_all bug

NAME

       seteuid, setegid - set effective user or group ID

SYNOPSIS

       #include <sys/types.h>
       #include <unistd.h>

       int seteuid(uid_t euid);
       int setegid(gid_t egid);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       seteuid(), setegid(): _BSD_SOURCE || _POSIX_C_SOURCE >= 200112L ||
       _XOPEN_SOURCE >= 600

DESCRIPTION

       seteuid()  sets  the  effective  user  ID  of  the   calling   process.
       Unprivileged  user  processes may only set the effective user ID to the
       real user ID, the effective user ID or the saved set-user-ID.

       Precisely the same holds for setegid() with "group" instead of  "user".

RETURN VALUE

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

ERRORS

       EPERM  The calling process is not privileged (Linux: does not have  the
              CAP_SETUID   capability   in  the  case  of  seteuid(),  or  the
              CAP_SETGID capability in the case of setegid()) and euid  (resp.
              egid)  is  not  the  real  user  (group)  ID, the effective user
              (group) ID, or the saved set-user-ID (saved set-group-ID).

CONFORMING TO

       4.3BSD, POSIX.1-2001.

NOTES

       Setting the effective user (group) ID to the saved  set-user-ID  (saved
       set-group-ID) is possible since Linux 1.1.37 (1.1.38).  On an arbitrary
       system one should check _POSIX_SAVED_IDS.

       Under libc4,  libc5  and  glibc  2.0  seteuid(euid)  is  equivalent  to
       setreuid(-1,  euid)  and hence may change the saved set-user-ID.  Under
       glibc 2.1 and later it is equivalent to  setresuid(-1,  euid,  -1)  and
       hence  does not change the saved set-user-ID.  Similar remarks hold for
       setegid().

SEE ALSO

       geteuid(2),  setresuid(2),  setreuid(2),  setuid(2),   capabilities(7),
       credentials(7)

COLOPHON

       This  page  is  part of release 3.01 of the Linux man-pages project.  A
       description of the project, and information about reporting  bugs,  can
       be found at http://www.kernel.org/doc/man-pages/.