GETPASS(3) Linux-Programmierhandbuch GETPASS(3)

getpass - ermittelt ein Passwort

ÜBERSICHT

#include <unistd.h>
char *getpass(const char *prompt);
Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

getpass():


Seit Glibc 2.2.2:
_XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L)
|| /* Glibc seit 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE
Vor glibc 2.2.2:
none

Diese Funktion ist veraltet, bitte verwenden Sie sie nicht. Falls Sie die Terminal-Eingabe lesen wollen, ohne dass die Wiedergabe der eingegebenen Zeichen aktiviert ist, lesen Sie bitte die Beschreibung des ECHO-Schalters in termios(3).

Die Funktion getpass() öffnet /dev/tty (das steuernde Terminal des Prozesses), zeigt die Zeichenkette prompt an, schaltet die Wiedergabe der eingebenen Zeichen auf dem Terminal ab, liest die Zeile (das »Passwort«), stellt den Status des Terminals wieder her und schließt /dev/tty wieder.

Die Funktion getpass() gibt einen Zeiger auf einen statischen Puffer zurück, der das Passwort (bzw. die ersten PASS_MAX Bytes davon) ohne das abschließende Newline-Zeichen, jedoch mit einem terminierenden NULL-Byte, enthält. Dieser Puffer kann von einem nachfolgenden Aufruf überschrieben werden. Im Fehlerfall wird der Status des Terminals wiederhergestellt, errno gesetzt, um den Fehler anzuzeigen, und NULL zurückgegeben.

der Prozess kein steuerndes Terminal hat.

/dev/tty

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

Schnittstelle Attribut Wert
getpass() Multithread-Fähigkeit MT-Unsafe term

In SUSv2 vorhanden, aber als VERALTET gekennzeichnet. In POSIX.1-2001 entfernt.

Bei Glibc2 wird der Prompt auf stderr geschrieben, falls /dev/tty nicht geöffnet werden kann und das Passwort wird von stdin gelesen. Es gibt keine Begrenzung der Länge des Passwortes. Das Editieren der Zeile ist nicht deaktiviert.

Gemäß SUSv2 muss der Wert von PASS_MAX in <limits.h> definiert sein, falls er kleiner als 8 ist, und kann auf jeden Fall mit sysconf(_SC_PASS_MAX) in Erfahrung gebracht werden. Allerdings verwirft POSIX.2 die Konstanten PASS_MAX und _SC_PASS_MAX sowie die Funktion getpass(). Libc4 und Libc5 haben niemals PASS_MAX oder _SC_PASS_MAX unterstützt. Glibc2 akzeptiert _SC_PASS_MAX und gibt BUFSIZ zurück (z.B. 8192).

Der aufrufende Prozess sollte das Passwort so schnell wie möglich auf Null setzen, um zu vermeiden, dass das Passwort weiter im Adressraum dieses Prozesses sichtbar ist.

crypt(3)

Diese Seite ist Teil der Veröffentlichung 5.13 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaettermann@gmail.com> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

22. März 2021 Linux