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

NOMBRE

       getpass - obtiene una contraseña

SINOPSIS

       #include <unistd.h>

       char *getpass( const char * prompt );

DESCRIPCIÓN

       Esta función está obsoleta. No la utilice.

       La  función  getpass()  abre  el fichero /dev/tty (la terminal de control del proceso), escribe la cadena
       prompt, desactiva el eco, lee una linea (la "contraseña"), restablece el estado de la terminal  y  cierra
       /dev/tty de nuevo.

VALOR DEVUELTO

       La función getpass devuelve un puntero a un buffer estático que contiene (los primeros PASS_MAX bytes de)
       la  contraseña sin el carácter nueva línea, terminada en NUL.  Este buffer puede ser sobreescrito por una
       llamada posterior.  En caso de error, el estado de la terminal se restablece, se pone un  valor  adecuado
       en errno , y se devuelve NULL.

ERRORES

       La función puede fallar si

       ENXIO  El proceso no tiene una terminal de control.

OBSERVACIONES

       Para  libc4  y  libc5,  el prompt no se escribe en /dev/tty sino en stderr.  Además, si /dev/tty no puede
       abrirse, la contraseña es leída de stdin.  El buffer estático tiene de longitud 128 por lo que  solamente
       se  devuelven  los  primeros 127 bytes de la contraseña.  Mientras se lee la contraseña, la generación de
       señales  (SIGINT,  SIGQUIT,  SIGSTOP,  SIGTSTOP)  es  desactivada  y  los   carácteres   correspondientes
       (normalmente  control-C,  control-\, control-Z y control-Y) son transmitidos como parte de la contraseña.
       A partir de la versión 5.4.19 de libc también se ha deshabilitado la edición de la linea, así que también
       el espacio será visto como parte de la contraseña.

       Para glibc2, si /dev/tty no puede abrirse, el prompt se escribe en stderr y la  contraseña  es  leida  de
       stdin.  No hay límite en la longitud de la contraseña.  La edición de la línea no está deshabilitada.

       Según  el estándar SUSv2, el valor de PASS_MAX debe estar definido en <limits.h> en caso de que sea menor
       que 8, y puede ser obtenido en cualquier caso usando  sysconf(_SC_PASS_MAX).   Sin  embargo,  retira  las
       constantes  PASS_MAX  y  _SC_PASS_MAX,  y  la  función  getpass ().  Libc4 y libc5 no han soportado nunca
       PASS_MAX ni _SC_PASS_MAX.  Glibc2 acepta _SC_PASS_MAX y devuelve BUFSIZ (p.e., 8192).

FICHEROS

       /dev/tty

VÉASE TAMBIÉN

       crypt(3)

HISTORIA

       Una función getpass apareció en AT&T UNIX Versión 7.

FALLOS

       El proceso que llama a esta función debería poner a cero todos los caracteres de la contraseña tan pronto
       como le fuera posible para evitar dejar la contraseña sin cifrar visible en el espacio de direcciones del
       proceso.

Página de manual de Linux                       5 diciembre 2000                                      GETPASS(3)