Provided by:
manpages-es_1.55-10_all 
NOMBRE
getlogin, cuserid - obtiene nombre de usuario
SINOPSIS
#include <unistd.h>
char * getlogin ( void );
#include <stdio.h>
char * cuserid ( char *cadena );
DESCRIPCI'ON
getlogin devuelve un puntero a una cadena de caracteres que contiene el
nombre del usuario que esta en la terminal controladora del proceso, o
un puntero nulo si esta informacion no puede determinarse. La cadena se
reserva estaticamente y puede ser sobreescrita en subsecuentes llamadas
a esta funcion o a cuserid.
cuserid devuelve un puntero a una cadena de caracteres que contiene un
nombre de usuario asociado con el UID efectivo del proceso. Si cadena
no es un puntero nulo, debe ser un vector que pueda alojar al menos
L_cuserid caracteres; la cadena se coloca en este vector. De otro modo
se devuelve un puntero a una cadena en un area estatica. Esta cadena se
reserva estaticamente y puede ser sobreescrita en subsecuentes llamadas
a esta funcion o a getlogin.
La macro L_cuserid es una constante entera que indica cuan grande puede
necesitar ser un vector que almacene un nombre de usuario. Se declara
en stdio.h.
Estas funciones permiten a su programa identificar positivamente al
usuario que lo esta ejecutando (cuserid) o al que ha entrado en esta
sesion (getlogin). (Que pueden diferir cuando estan implicados
programas SUID).
Para la mayoria de los propositos, es mas util emplear la variable de
ambiente LOGNAME para saber quien es el usuario. Esto es mas flexible
precisamente porque el usuario puede dar un valor arbitrario a LOGNAME.
ERRORES
ENOMEM Memoria insuficiente para alojar la estructura passwd.
FICHEROS
/etc/passwd fichero de datos de cuentas de usuario
/var/run/utmp (traditionally /etc/utmp; some libc
versions used /var/adm/utmp)
CONFORME A
POSIX.1. System V tiene una funcion cuserid que usa el UID real en vez
del efectivo. La funcion cuserid se incluyo en la version de POSIX del
ano 1988, pero se quito en la de 1990.
FALLOS
Desafortunadamente, es a meundo bastante facil el liar a getlogin(). A
veces no funciona en absoluto, porque algun programa estropeo el
fichero utmp. Frecuentemente, solo da los primeros 8 caracteres del
nombre de entrada. El usuario que este actualmente en la tty
controladora de nuestro programa no tiene por que ser el que lo hubo
ejecutado. Evite getlogin() para propositos relacionados con la
seguridad.
Nadie sabe con precision que es lo que hace cuserid(); evitelo en
programas transportables; evitelo de todas formas siempre: en su lugar
emplee getpwuid(getwuid()), si eso es lo que pretende. NO UTILICE
cuserid().
V'EASE TAMBI'EN
geteuid(2), getuid(2)