Provided by: manpages-pl-dev_4.15.0-9_all
NAZWA
getpass - wczytanie hasła
SKŁADNIA
#include <unistd.h> 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 since 2.19: */ _DEFAULT_SOURCE || /* Glibc <= 2.19: */ _BSD_SOURCE Before glibc 2.2.2: none
OPIS
Funkcja ta jest przestarzała. Nie należy jej używać. Informacje o tym, jak odczytać dane z terminala bez ich wyświetlania na nim można znaleźć w opisie znacznika ECHO w podręczniku 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 │ └───────────────────────────────────────────────┴────────────────────────┴────────────────┘
ZGODNE Z
Obecna w SUSv2, ale uważana za przestarzałe. Usunięta z POSIX.1-2001.
UWAGI
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)
O STRONIE
Angielska wersja tej strony pochodzi z wydania 5.13 projektu Linux man-pages. Opis projektu, informacje dotyczące zgłaszania błędów oraz najnowszą wersję oryginału można znaleźć pod adresem https://www.kernel.org/doc/man-pages/.
TŁUMACZENIE
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Robert Luberda <robert@debian.org> 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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI. Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej ⟨manpages-pl-list@lists.sourceforge.net⟩.