GETPASS(3) Manuel du programmeur Linux GETPASS(3)

getpass - Obtenir un mot de passe (password)

#include <unistd.h>
char *getpass(const char *prompt);
Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :

getpass() :


Since glibc 2.2.2:
_XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L)
|| /* Glibc since 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE
Before glibc 2.2.2:
none

Cette fonction est obsolète. Ne l'utilisez pas. Si vous voulez lire une entrée de terminal sans écho local, consultez la description du drapeau ECHO dans termios(3).

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.

The function getpass() returns a pointer to a static buffer containing (the first PASS_MAX bytes of) the password without the trailing newline, terminated by a null byte ('\0'). This buffer may be overwritten by a following call. On error, the terminal state is restored, errno is set to indicate the error, and NULL is returned.

Le processus n'a pas de terminal de contrôle.

/dev/tty

Pour une explication des termes utilisés dans cette section, consulter attributes(7).

Interface Attribut Valeur
getpass() Sécurité des threads MT-Unsafe term

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

In the GNU C library implementation, if /dev/tty cannot be opened, the prompt is written to stderr and the password is read from stdin. There is no limit on the length of the password. Line editing is not disabled.

According to SUSv2, the value of PASS_MAX must be defined in <limits.h> in case it is smaller than 8, and can in any case be obtained using sysconf(_SC_PASS_MAX). However, POSIX.2 withdraws the constants PASS_MAX and _SC_PASS_MAX, and the function getpass(). The glibc version accepts _SC_PASS_MAX and returns BUFSIZ (e.g., 8192).

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.

crypt(3)

Cette page fait partie de la publication 5.13 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

La traduction française de cette page de manuel a été créée par Christophe Blaess https://www.blaess.fr/christophe/, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org> et David Prévot <david@tilapin.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

22 mars 2021 Linux