aboutsummaryrefslogtreecommitdiffstats
path: root/man/man3/getlogin.3
diff options
context:
space:
mode:
authorAlejandro Colomar <alx.manpages@gmail.com>2022-09-09 14:15:08 +0200
committerAlejandro Colomar <alx.manpages@gmail.com>2022-09-09 14:15:08 +0200
commit96e72ec1fbadd13cbcbc2b263540e4f5e9e09d7c (patch)
tree70686b943e33a6e939ad265acb7ddfef70b91f32 /man/man3/getlogin.3
parent8f4ed6463206e8ede815c72085c7305dafc2e4fc (diff)
downloadman-pages-96e72ec1fbadd13cbcbc2b263540e4f5e9e09d7c.tar.gz
Revert "src.mk, All pages: Move man* to man/"
This reverts commit 70ac1c4785fc1e158ab2349a962dba2526bf4fbc. Link: <https://lore.kernel.org/linux-man/YxcV4h+Xn7cd6+q2@pevik/T/> Reported-by: Petr Vorel <pvorel@suse.cz> Reported-by: Jakub Wilk <jwilk@jwilk.net> Cc: Stefan Puiu <stefan.puiu@gmail.com> Signed-off-by: Alex Colomar <alx.manpages@gmail.com>
Diffstat (limited to 'man/man3/getlogin.3')
-rw-r--r--man/man3/getlogin.3239
1 files changed, 0 insertions, 239 deletions
diff --git a/man/man3/getlogin.3 b/man/man3/getlogin.3
deleted file mode 100644
index 50b8b008bd..0000000000
--- a/man/man3/getlogin.3
+++ /dev/null
@@ -1,239 +0,0 @@
-.\" Copyright 1995 James R. Van Zandt <jrv@vanzandt.mv.com>
-.\"
-.\" SPDX-License-Identifier: Linux-man-pages-copyleft
-.\"
-.\" Changed Tue Sep 19 01:49:29 1995, aeb: moved from man2 to man3
-.\" added ref to /etc/utmp, added BUGS section, etc.
-.\" modified 2003 Walter Harms, aeb - added getlogin_r, note on stdin use
-.TH GETLOGIN 3 2021-03-22 "Linux man-pages (unreleased)"
-.SH NAME
-getlogin, getlogin_r, cuserid \- get username
-.SH LIBRARY
-Standard C library
-.RI ( libc ", " \-lc )
-.SH SYNOPSIS
-.nf
-.B #include <unistd.h>
-.PP
-.B "char *getlogin(void);"
-.BI "int getlogin_r(char *" buf ", size_t " bufsize );
-.PP
-.B #include <stdio.h>
-.PP
-.BI "char *cuserid(char *" string );
-.fi
-.PP
-.RS -4
-Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
-.RE
-.PP
-.BR getlogin_r ():
-.nf
-.\" Deprecated: _REENTRANT ||
- _POSIX_C_SOURCE >= 199506L
-.fi
-.PP
-.BR cuserid ():
-.nf
- Since glibc 2.24:
- (_XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L)
- || _GNU_SOURCE
- Up to and including glibc 2.23:
- _XOPEN_SOURCE
-.fi
-.SH DESCRIPTION
-.BR getlogin ()
-returns a pointer to a string containing the name of
-the user logged in on the controlling terminal of the process, or a
-null pointer if this information cannot be determined.
-The string is
-statically allocated and might be overwritten on subsequent calls to
-this function or to
-.BR cuserid ().
-.PP
-.BR getlogin_r ()
-returns this same username in the array
-.I buf
-of size
-.IR bufsize .
-.PP
-.BR cuserid ()
-returns a pointer to a string containing a username
-associated with the effective user ID of the process.
-If \fIstring\fP
-is not a null pointer, it should be an array that can hold at least
-\fBL_cuserid\fP characters; the string is returned in this array.
-Otherwise, a pointer to a string in a static area is returned.
-This
-string is statically allocated and might be overwritten on subsequent
-calls to this function or to
-.BR getlogin ().
-.PP
-The macro \fBL_cuserid\fP is an integer constant that indicates how
-long an array you might need to store a username.
-\fBL_cuserid\fP is declared in \fI<stdio.h>\fP.
-.PP
-These functions let your program identify positively the user who is
-running
-.RB ( cuserid ())
-or the user who logged in this session
-.RB ( getlogin ()).
-(These can differ when set-user-ID programs are involved.)
-.PP
-For most purposes, it is more useful to use the environment variable
-\fBLOGNAME\fP to find out who the user is.
-This is more flexible
-precisely because the user can set \fBLOGNAME\fP arbitrarily.
-.SH RETURN VALUE
-.BR getlogin ()
-returns a pointer to the username when successful,
-and NULL on failure, with
-.I errno
-set to indicate the error.
-.BR getlogin_r ()
-returns 0 when successful, and nonzero on failure.
-.SH ERRORS
-POSIX specifies:
-.TP
-.B EMFILE
-The per-process limit on the number of open file descriptors has been reached.
-.TP
-.B ENFILE
-The system-wide limit on the total number of open files has been reached.
-.TP
-.B ENXIO
-The calling process has no controlling terminal.
-.TP
-.B ERANGE
-(getlogin_r)
-The length of the username, including the terminating null byte (\(aq\e0\(aq),
-is larger than
-.IR bufsize .
-.PP
-Linux/glibc also has:
-.TP
-.B ENOENT
-There was no corresponding entry in the utmp-file.
-.TP
-.B ENOMEM
-Insufficient memory to allocate passwd structure.
-.TP
-.B ENOTTY
-Standard input didn't refer to a terminal.
-(See BUGS.)
-.SH FILES
-.TP
-\fI/etc/passwd\fP
-password database file
-.TP
-\fI/var/run/utmp\fP
-(traditionally \fI/etc/utmp\fP;
-some libc versions used \fI/var/adm/utmp\fP)
-.SH ATTRIBUTES
-For an explanation of the terms used in this section, see
-.BR attributes (7).
-.ad l
-.nh
-.TS
-allbox;
-lb lb lbx
-l l l.
-Interface Attribute Value
-T{
-.BR getlogin ()
-T} Thread safety T{
-MT-Unsafe race:getlogin race:utent
-sig:ALRM timer locale
-T}
-T{
-.BR getlogin_r ()
-T} Thread safety T{
-MT-Unsafe race:utent sig:ALRM timer
-locale
-T}
-T{
-.BR cuserid ()
-T} Thread safety T{
-MT-Unsafe race:cuserid/!string locale
-T}
-.TE
-.hy
-.ad
-.sp 1
-In the above table,
-.I utent
-in
-.I race:utent
-signifies that if any of the functions
-.BR setutent (3),
-.BR getutent (3),
-or
-.BR endutent (3)
-are used in parallel in different threads of a program,
-then data races could occur.
-.BR getlogin ()
-and
-.BR getlogin_r ()
-call those functions,
-so we use race:utent to remind users.
-.SH STANDARDS
-.BR getlogin ()
-and
-.BR getlogin_r ():
-POSIX.1-2001, POSIX.1-2008.
-.PP
-System V has a
-.BR cuserid ()
-function which uses the real
-user ID rather than the effective user ID.
-The
-.BR cuserid ()
-function
-was included in the 1988 version of POSIX,
-but removed from the 1990 version.
-It was present in SUSv2, but removed in POSIX.1-2001.
-.PP
-OpenBSD has
-.BR getlogin ()
-and
-.BR setlogin (),
-and a username
-associated with a session, even if it has no controlling terminal.
-.SH BUGS
-Unfortunately, it is often rather easy to fool
-.BR getlogin ().
-Sometimes it does not work at all, because some program messed up
-the utmp file.
-Often, it gives only the first 8 characters of
-the login name.
-The user currently logged in on the controlling terminal
-of our program need not be the user who started it.
-Avoid
-.BR getlogin ()
-for security-related purposes.
-.PP
-Note that glibc does not follow the POSIX specification and uses
-.I stdin
-instead of
-.IR /dev/tty .
-A bug.
-(Other recent systems, like SunOS 5.8 and HP-UX 11.11 and FreeBSD 4.8
-all return the login name also when
-.I stdin
-is redirected.)
-.PP
-Nobody knows precisely what
-.BR cuserid ()
-does; avoid it in portable programs.
-Or avoid it altogether: use
-.I getpwuid(geteuid())
-instead, if that is
-what you meant.
-.B Do not use
-.BR cuserid ().
-.SH SEE ALSO
-.BR logname (1),
-.BR geteuid (2),
-.BR getuid (2),
-.BR utmp (5)