.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Historical remark, aeb, 2004-06-05 .TH getuid 2 2024-05-02 "Linux man-pages 6.9.1" .SH NAME getuid, geteuid \- get user identity .SH LIBRARY Standard C library .RI ( libc ", " \-lc ) .SH SYNOPSIS .nf .B #include .P .B uid_t getuid(void); .B uid_t geteuid(void); .fi .SH DESCRIPTION .BR getuid () returns the real user ID of the calling process. .P .BR geteuid () returns the effective user ID of the calling process. .SH ERRORS These functions are always successful and never modify .\" https://www.austingroupbugs.net/view.php?id=511 .\" 0000511: getuid and friends should not modify errno .IR errno . .SH STANDARDS POSIX.1-2008. .SH HISTORY POSIX.1-2001, 4.3BSD. .P In UNIX\ V6 the .BR getuid () call returned .IR "(euid << 8) + uid" . UNIX\ V7 introduced separate calls .BR getuid () and .BR geteuid (). .P The original Linux .BR getuid () and .BR geteuid () system calls supported only 16-bit user IDs. Subsequently, Linux 2.4 added .BR getuid32 () and .BR geteuid32 (), supporting 32-bit IDs. The glibc .BR getuid () and .BR geteuid () wrapper functions transparently deal with the variations across kernel versions. .P On Alpha, instead of a pair of .BR getuid () and .BR geteuid () system calls, a single .BR getxuid () system call is provided, which returns a pair of real and effective UIDs. The glibc .BR getuid () and .BR geteuid () wrapper functions transparently deal with this. See .BR syscall (2) for details regarding register mapping. .SH SEE ALSO .BR getresuid (2), .BR setreuid (2), .BR setuid (2), .BR credentials (7)