table of contents
- buster 1:0.7-1
- buster-backports 1:4.10.0-1~bpo10+1
- testing 1:4.10.0-1
- unstable 1:4.10.0-1
GETPASS(3) | Podręcznik programisty Linuksa | GETPASS(3) |
NAZWA¶
getpass - wczytanie hasłaSKŁADNIA¶
#include <unistd.h>char *getpass(const char *prompt);
Wymagane ustawienia makr biblioteki glibc (patrz
feature_test_macros(7)):
getpass():
- Od glibc 2.2.2:
-
_XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L) || /* Od glibc 2.19: */ _DEFAULT_SOURCE || /* Wersje glibc <= 2.19: */ _BSD_SOURCE
- Przed 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¶
Funkcja getpass() zwraca wskaźnik do statycznego bufora zawierającego hasło (pierwsze PASS_MAX bajtów) bez kończącego znaku nowej linii, zakończone bajtem null ('\0'). Bufor ten może zostać nadpisany przez późniejsze wywołania funkcji. W przypadku błędu, odtwarzany jest stan terminala, odpowiednio ustawiane errno i zwracane NULL.BŁĘDY¶
Funkcja może zakończyć się niepomyślnie, gdy- ENXIO
- Proces nie ma terminala sterującego.
PLIKI¶
/dev/ttyATRYBUTY¶
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.04 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 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres manpages-pl-list@lists.sourceforge.net.
6 marca 2019 r. | Linux |