Loading

NOM

       getpass - Saisie d’un mot de passe (password).

SYNOPSIS

       #include <unistd.h>

       char *getpass( const char *prompt);

       Cette fonction est obsolète, ne l’utilisez pas.

       La  fonction  getpass()  ouvre  /dev/tty  (le  terminal  de contrôle du
       processus)  affiche le message d’accueil prompt, éteint  l’écho  local,
       lit une ligne (le mot de passe), puis restaure l’état de /dev/tty et le
       referme.

VALEUR RENVOYÉE

       La fonction getpass() renvoie un pointeur sur une chaîne de  caractères
       allouée  statiquement contenant les PASS_MAX premiers caractères du mot
       de passe sans le retour chariot final, terminé  par  un  caractère  nul
       (« \0 »).  Ce  tampon  peut  être  écrasé  par  un  autre appel. En cas
       d’erreur, l’état du terminal est restauré,  errno  est  rempli,  et  la
       fonction renvoie NULL.

ERREURS

       La fonction peut échouer dans les cas suivants :

       ENXIO  Le processus n’a pas de terminal de contrôle.

FICHIERS

       /dev/tty

CONFORMITÉ

       Présent  dans SUSv2, mais marquée « LEGACY ». Supprimé de POSIX.1-2001.

NOTES

       Dans les versions libc4 et libc5, le  message  n’est  pas  affiché  sur
       /dev/tty  mais sur stderr. De plus, si /dev/tty ne peut être ouvert, le
       mot de passe est lu depuis stdin. Le tampon statique a une longueur  de
       128  octets,  aussi  seulement  127  caractères  du  mot  de passe sont
       renvoyés. Durant la lecture, les  signaux  (SIGINT,  SIGQUIT,  SIGSTOP,
       SIGTSTOP)  sont  désactivés et les caractères de contrôle correspondant
       (en général Ctrl-C, Ctrl-\, Ctrl-Z et Ctrl-Y) sont transmis comme  part
       intégrante  du  mot de passe. Depuis la libc 5.4.19, l’édition de ligne
       est également désactivée, ainsi les retours en arrières,  etc.,  seront
       présents dans le mot de passe.

       Pour  la  glibc2,  si  /dev/tty ne peut pas être ouvert, le message est
       envoyé sur stderr et le mot de passe lu sur stdin.  Il  n’y  a  pas  de
       limite  à  la  longueur  du  mot de passe. L’édition de ligne n’est pas
       désactivée.

       D’après SUSv2, la valeur de PASS_MAX doit être définie dans  <limits.h>
       au  cas  où  elle  est inférieure à 8, et doit toujours être accessible
       avec sysconf(_SC_PASS_MAX).  Quoiqu’il  en  soit,  POSIX.2  retire  les
       constantes  PASS_MAX  et _SC_PASS_MAX, ainsi que la fonction getpass().
       Les  bibliothèques  libc4  et  libc5  n’ont  jamais  géré  PASS_MAX  ou
       _SC_PASS_MAX.  La  glibc2  accepte  _SC_PASS_MAX et renvoie BUFSIZ (par
       exemple, 8192).

BOGUES

       Le processus appelant doit effacer le mot de passe saisi aussi vite que
       possible,  afin  d’éviter  d’en conserver une copie en texte clair dans
       son espace d’adressage.

VOIR AUSSI

       crypt(3)

COLOPHON

       Cette page fait partie de  la  publication  3.23  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Florentin Duneau <fduneau@gmail.com> et l’équipe
       francophone de traduction de Debian.

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».