getuid(2) — Linux manual page


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

NAME         top

       getuid, geteuid - get user identity

SYNOPSIS         top

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

       uid_t getuid(void);
       uid_t geteuid(void);

DESCRIPTION         top

       getuid() returns the real user ID of the calling process.

       geteuid() returns the effective user ID of the calling process.

ERRORS         top

       These functions are always successful.

CONFORMING TO         top

       POSIX.1-2001, POSIX.1-2008, 4.3BSD.

NOTES         top

       In UNIX V6 the getuid() call returned (euid << 8) + uid.  UNIX V7
       introduced separate calls getuid() and geteuid().

       The original Linux getuid() and geteuid() system calls supported only
       16-bit user IDs.  Subsequently, Linux 2.4 added getuid32() and
       geteuid32(), supporting 32-bit IDs.  The glibc getuid() and geteuid()
       wrapper functions transparently deal with the variations across
       kernel versions.

       On Alpha, instead of a pair of getuid() and geteuid() system calls, a
       single getxuid() system call is provided, which returns a pair of
       real and effective UIDs.  The glibc getuid() and geteuid() wrapper
       functions transparently deal with this.  See syscall(2) for details
       regarding register mapping.

SEE ALSO         top

       getresuid(2), setreuid(2), setuid(2), credentials(7)

COLOPHON         top

       This page is part of release 5.09 of the Linux man-pages project.  A
       description of the project, information about reporting bugs, and the
       latest version of this page, can be found at

Linux                            2019-03-06                        GETUID(2)

Pages that refer to this page: gawk(1)groups(1@@shadow-utils)procps(1)ps(1)strace(1)getpgid(2)getpgrp(2)getresgid(2)getresgid32(2)getresuid(2)getresuid32(2)setpgid(2)setpgrp(2)setregid(2)setregid32(2)setresgid(2)setresgid32(2)setresuid(2)setresuid32(2)setreuid(2)setreuid32(2)setuid(2)setuid32(2)syscalls(2)aiocb(3)clockid_t(3)clock_t(3)cuserid(3)dev_t(3)div_t(3)double_t(3)fenv_t(3)fexcept_t(3)file(3)FILE(3)float_t(3)getlogin(3)getlogin_r(3)gid_t(3)id_t(3)imaxdiv_t(3)int16_t(3)int32_t(3)int64_t(3)int8_t(3)intmax_t(3)intn_t(3)intN_t(3)intptr_t(3)lconv(3)ldiv_t(3)lldiv_t(3)off_t(3)pid_t(3)ptrdiff_t(3)regex_t(3)regmatch_t(3)regoff_t(3)siginfo_t(3)sigset_t(3)sigval(3)size_t(3)ssize_t(3)suseconds_t(3)timer_t(3)timespec(3)time_t(3)timeval(3)uid_t(3)uint16_t(3)uint32_t(3)uint64_t(3)uint8_t(3)uintmax_t(3)uintn_t(3)uintN_t(3)uintptr_t(3)va_list(3)void(3)credentials(7)signal-safety(7)system_data_types(7)user_namespaces(7)