Provided by: manpages-es_1.55-10_all bug

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)