BEZEICHNUNG

getpass - ermittelt ein Passwort

BIBLIOTHEK

Standard-C-Bibliothek ( libc, -lc)

ÜBERSICHT

#include <unistd.h>
[[veraltet]] char *getpass(const char *prompt);
Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)):
getpass():
    Seit Glibc 2.2.2:
        _XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L)
            || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
            || /* Glibc <= 2.19: */ _BSD_SOURCE
    Vor glibc 2.2.2:
        none

BESCHREIBUNG

Diese Funktion ist veraltet, bitte verwenden Sie sie nicht. Siehe ANMERKUNGEN. 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.

RÜCKGABEWERT

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 Zeilenumbruchzeichen, jedoch mit einem abschließenden Nullbyte (»\0«), 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.

FEHLER

ENXIO
der Prozess kein steuerndes Terminal hat.

DATEIEN

/dev/tty

ATTRIBUTE

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
 

STANDARDS

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

ANMERKUNGEN

Sie sollten stattdessen readpassphrase(3bsd) verwenden, welches durch libbsd bereitgestellt wird.
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).

FEHLER

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.

SIEHE AUCH

crypt(3)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <[email protected]> und Mario Blättermann <[email protected]> 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

Recommended readings

Pages related to getpass you should read also: