getuid man page

getuid, geteuid — get user identity


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

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


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

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


These functions are always successful.

Conforming to

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



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.

See Also

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

Referenced By

credentials(7), gawk(1), getlogin(3), getresuid(2), lockfile-progs(1), mksh(1), oping(8), pam_close_session(3), pam_open_session(3), procenv(1), ps(1), seteuid(2), setpgid(2), setresuid(2), setreuid(2), setuid(2), syscalls(2), user_namespaces(7).

Explore man page connections for getuid(2).

geteuid(2) and getuid32(2) are aliases of getuid(2).