home   contributing   bugs   download   online pages  

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | CONFORMING TO | NOTES | SEE ALSO | COLOPHON


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

NAME         top

       seteuid, setegid - set effective user or group ID

SYNOPSIS         top

       #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         top

       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         top

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

ERRORS         top

       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 (respectively, 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         top

       4.3BSD, POSIX.1-2001.

NOTES         top

       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         top

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

COLOPHON         top

       This page is part of release 3.23 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/.

Linux                                 2007-07-26                           SETEUID(2)