getpass - wczytanie hasła
Standardowa biblioteka C (
libc,
-lc)
#include <unistd.h>
[[deprecated]] char *getpass(const char *prompt);
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
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.
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.
- ENXIO
- Proces nie ma terminala sterującego.
/dev/tty
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 |
Obecna w SUSv2, ale uważana za przestarzałe. Usunięta z
POSIX.1-2001.
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).
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.
crypt(3)
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]