(libc.info.gz) Who Logged In
Info Catalog
(libc.info.gz) Tips for Setuid
(libc.info.gz) Users and Groups
(libc.info.gz) User Accounting Database
29.11 Identifying Who Logged In
===============================
You can use the functions listed in this section to determine the login
name of the user who is running a process, and the name of the user who
logged in the current session. See also the function `getuid' and
friends ( Reading Persona). How this information is collected by
the system and how to control/add/remove information from the background
storage is described in User Accounting Database.
The `getlogin' function is declared in `unistd.h', while `cuserid'
and `L_cuserid' are declared in `stdio.h'.
-- Function: char * getlogin (void)
The `getlogin' function 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 `cuserid'.
-- Function: char * cuserid (char *STRING)
The `cuserid' function returns a pointer to a string containing a
user name associated with the effective ID of the process. If
STRING is not a null pointer, it should be an array that can hold
at least `L_cuserid' 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 `getlogin'.
The use of this function is deprecated since it is marked to be
withdrawn in XPG4.2 and has already been removed from newer
revisions of POSIX.1.
-- Macro: int L_cuserid
An integer constant that indicates how long an array you might
need to store a user name.
These functions let your program identify positively the user who is
running or the user who logged in this session. (These can differ when
setuid programs are involved; see Process Persona.) The user
cannot do anything to fool these functions.
For most purposes, it is more useful to use the environment variable
`LOGNAME' to find out who the user is. This is more flexible precisely
because the user can set `LOGNAME' arbitrarily. Standard
Environment.
Info Catalog
(libc.info.gz) Tips for Setuid
(libc.info.gz) Users and Groups
(libc.info.gz) User Accounting Database
automatically generated by
info2html