getlogin(3) Library Functions Manual getlogin(3) getlogin, getlogin_r, cuserid - (libc -lc) #include char *getlogin(void); int getlogin_r(size_t bufsize; char buf[bufsize], size_t bufsize); #include char *cuserid(char *string); glibc ( feature_test_macros(7)): getlogin_r(): _POSIX_C_SOURCE >= 199506L cuserid(): glibc 2.24: (_XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L) || _GNU_SOURCE glibc 2.23: _XOPEN_SOURCE getlogin() . cuserid(). getlogin_r() buf bufsize. cuserid() . string L_cuserid . . getlogin(). L_cuserid . L_cuserid . (cuserid()) (getlogin()). ( set-user-ID.) LOGNAME . LOGNAME . getlogin() NULL errno . getlogin_r() 0 . POSIX: EMFILE . ENFILE . ENXIO . ERANGE (getlogin_r) ('\0') bufsize. Linux/glibc : ENOENT utmp. ENOMEM passwd. ENOTTY . ( .) /etc/passwd /var/run/utmp ( /etc/utmp libc /var/adm/utmp) attributes(7). +----------------------+------------------------------------+----------+ | | | | +----------------------+------------------------------------+----------+ |getlogin() | | MT-Unsafe | | | | race:getlogin | | | | race:utent | | | | sig:ALRM | | | | timer | | | | locale | +----------------------+------------------------------------+----------+ |getlogin_r() | | MT-Unsafe | | | | race:utent | | | | sig:ALRM | | | | timer | | | | locale | +----------------------+------------------------------------+----------+ |cuserid() | | MT-Unsafe | | | | race:cuserid/!string | | | | locale | +----------------------+------------------------------------+----------+ utent race:utent setutent(3) getutent(3) endutent(3) . getlogin() getlogin_r() race:utent . OpenBSD getlogin() setlogin() . getlogin() getlogin_r() POSIX.1-2008. cuserid() . getlogin() getlogin_r(): POSIX.1-2001. OpenBSD. cuserid() System V, POSIX.1-1988. POSIX.1-1990. SUSv2. POSIX.1-2001. System V cuserid() . getlogin() . utmp. 8 . . getlogin() . glibc POSIX stdin /dev/tty. . ( SunOS 5.8 HP-UX 11.11 FreeBSD 4.8 stdin.) cuserid() . : getpwuid(geteuid()) . cuserid(). logname(1), geteuid(2), getuid(2), utmp(5) 3 . . : . 6.18 8 2026 getlogin(3)