Provided by: manpages-pl-dev_4.13-4_all bug

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():
           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/tty

ATRYBUTY

       Informacje   o   pojęciach   używanych   w  tym  rozdziale  można  znaleźć  w  podręczniku
       attributes(7).

       ┌──────────┬────────────────────────┬────────────────┐
       │InterfejsAtrybutWartość        │
       ├──────────┼────────────────────────┼────────────────┤
       │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.10  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⟩.