getpass(3) Library Functions Manual getpass(3) NAZWA getpass - wczytuje haslo BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include [[przestarzale]] 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) || /* glibc >= 2.19: */ _DEFAULT_SOURCE || /* glibc <= 2.19: */ _BSD_SOURCE Przed glibc 2.2.2: brak OPIS Funkcja ta jest przestarzala. Nie nalezy jej uzywac -- zob. UWAGI. Informacje o tym, jak odczytac dane z terminala bez ich wyswietlania na nim mozna znalezc w opisie znacznika ECHO w podreczniku termios(3). Funkcja getpass() otwiera /dev/tty (terminal sterujacy procesu), wypisuje lancuch prompt, wylacza echo, odczytuje jeden wiersz (,,haslo"), odtwarza stan terminala i zamyka /dev/tty. WARTOSC ZWRACANA Funkcja getpass() zwraca wskaznik do statycznego bufora zawierajacego haslo (pierwsze PASS_MAX bajtow) bez konczacego znaku nowego wiersza, zakonczone bajtem null ('\0'). Bufor ten moze zostac nadpisany przez pozniejsze wywolania funkcji. W przypadku bledu, odtwarzany jest stan terminala, ustawiane errno, wskazujac blad i zwracane NULL. BLEDY ENXIO Proces nie ma terminala sterujacego. PLIKI /dev/tty ATRYBUTY Informacje o pojeciach uzywanych w tym rozdziale mozna znalezc w podreczniku attributes(7). +-------------------+--------------------------+-----------------------+ |Interfejs | Atrybut | Wartosc | +-------------------+--------------------------+-----------------------+ |getpass() | Bezpieczenstwo watkowe | MT-niebezpieczne term | +-------------------+--------------------------+-----------------------+ STANDARDY Brak. HISTORIA Wersja 7 AT&T UNIX. Obecna w SUSv2, ale uwazana za przestarzale. Usunieta z POSIX.1-2001. UWAGI Nalezy w zamian uzywac readpassphrase(3bsd), udostepnianej przez libbsd. W implementacji biblioteki GNU C jesli nie mozna otworzyc /dev/tty, to tekst zachety jest wypisywany na stderr, a haslo jest odczytywane z stdin. Nie ma natomiast ograniczenia na dlugosc hasla. Nie jest wylaczona edycja linii. Zgodnie z SUSv2 jesli wartosc PASS_MAX jest mniejsza niz 8, to musi byc zdefiniowana w , a w kazdym przypadku mozna ja otrzymac za pomoca sysconf(_SC_PASS_MAX). Jednakze, POSIX.2 odchodzi od stalych PASS_MAX i _SC_PASS_MAX oraz od funkcji getpass(). Wersja glibc akceptuje _SC_PASS_MAX i zwraca BUFSIZ (np. 8192). USTERKI Proces wywolujacy funkcje powinien wyzerowac haslo natychmiast, gdy tylko bedzie to mozliwe, aby uniknac pozostawiania niezaszyfrowanego hasla w przestrzeni adresowej procesu. ZOBACZ TAKZE crypt(3) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Andrzej Krzysztofowicz , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.12 23 lipca 2024 r. getpass(3)