NAME |LIBRARY |SYNOPSIS |DESCRIPTION |ERRORS |STANDARDS |HISTORY |SEE ALSO |COLOPHON | |
getuid(2) System Calls Manualgetuid(2)getuid, geteuid - get user identity
Standard C library (libc,-lc)
#include <unistd.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 and never modifyerrno.
POSIX.1-2008.
POSIX.1-2001, 4.3BSD. In UNIX V6 thegetuid() call returned(euid << 8) + uid. UNIX V7 introduced separate callsgetuid() andgeteuid(). The original Linuxgetuid() andgeteuid() system calls supported only 16-bit user IDs. Subsequently, Linux 2.4 addedgetuid32() andgeteuid32(), supporting 32-bit IDs. The glibcgetuid() andgeteuid() wrapper functions transparently deal with the variations across kernel versions. On Alpha, instead of a pair ofgetuid() andgeteuid() system calls, a singlegetxuid() system call is provided, which returns a pair of real and effective UIDs. The glibcgetuid() andgeteuid() wrapper functions transparently deal with this. Seesyscall(2) for details regarding register mapping.
getresuid(2),setreuid(2),setuid(2),credentials(7)
This page is part of theman-pages (Linux kernel and C library user-space interface documentation) project. Information about the project can be found at ⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report for this manual page, see ⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩. This page was obtained from the tarball man-pages-6.15.tar.gz fetched from ⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on 2025-08-11. If you discover any rendering problems in this HTML version of the page, or you believe there is a better or more up- to-date source for the page, or you have corrections or improvements to the information in this COLOPHON (which isnot part of the original manual page), send a mail to man-pages@man7.orgLinux man-pages 6.15 2025-05-17getuid(2)Pages that refer to this page:groups(1@@shadow-utils), homectl(1), importctl(1), journalctl(1), localectl(1), loginctl(1), machinectl(1), portablectl(1), ps(1), strace(1), systemctl(1), systemd(1), systemd-analyze(1), systemd-inhibit(1), systemd-nspawn(1), systemd-vmspawn(1), timedatectl(1), updatectl(1), userdbctl(1), getresuid(2), seteuid(2), setpgid(2), setresuid(2), setreuid(2), setuid(2), syscalls(2), getlogin(3), id_t(3type), pam_close_session(3), pam_open_session(3), sysexits.h(3head), credentials(7), signal-safety(7), user_namespaces(7), systemd-tmpfiles(8)
HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |