NAZWA

getpass - wczytanie hasła

BIBLIOTEKA

Standardowa biblioteka C ( libc, -lc)

SKŁADNIA

#include <unistd.h>
[[deprecated]] char *getpass(const char *prompt);
Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):
getpass():
    Since glibc 2.2.2:
        _XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L)
            || /* glibc >= 2.19: */ _DEFAULT_SOURCE
            || /* glibc <= 2.19: */ _BSD_SOURCE
    Before glibc 2.2.2:
        none

OPIS

This function is obsolete. Do not use it. See NOTES. If you want to read input without terminal echoing enabled, see the description of the ECHO flag in termios(3).
Funkcja getpass() otwiera /dev/tty (terminal sterujący procesu), wyprowadza napis prompt, wyłącza echo, odczytuje jedną linię ("hasło"), odtwarza stan terminala i zamyka /dev/tty.

WARTOŚĆ ZWRACANA

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.

BŁĘDY

ENXIO
Proces nie ma terminala sterującego.

PLIKI

/dev/tty

ATRYBUTY

Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
Interfejs Atrybut Wartość
getpass() Bezpieczeństwo wątkowe MT-Unsafe term
 

STANDARDY

Obecna w SUSv2, ale uważana za przestarzałe. Usunięta z POSIX.1-2001.

UWAGI

You should use instead readpassphrase(3bsd), provided by libbsd.
W implementacji biblioteki GNU C jeśli nie można otworzyć /dev/tty, to tekst zachęty jest wypisywany na stderr, a hasło jest odczytywane z stdin. Nie ma natomiast ograniczenia na długość hasła. Nie jest wyłączona edycja linii.
Zgodnie z SUSv2 jeśli wartość PASS_MAX jest mniejsza niż 8, to musi być zdefiniowana w <limits.h>, a w każdym przypadku można ją otrzymać za pomocą sysconf(_SC_PASS_MAX). Jednakże, POSIX.2 odchodzi od stałych PASS_MAX i _SC_PASS_MAX oraz od funkcji getpass(). Wersja glibc akceptuje _SC_PASS_MAX i zwraca BUFSIZ (np. 8192).

BŁĘDY

Proces wywołujący funkcję powinien wyzerować hasło natychmiast, gdy tylko będzie to możliwe, aby uniknąć pozostawiania niezaszyfrowanego hasła w przestrzeni adresowej procesu.

ZOBACZ TAKŻE

crypt(3)

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Andrzej Krzysztofowicz <[email protected]> i Robert Luberda <[email protected]>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej [email protected]

Recommended readings

Pages related to getpass you should read also: