plucky (3) getpass.3.gz

Provided by: manpages-pl-dev_4.25.1-1_all bug

NAZWA

       getpass - wczytuje hasło

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <unistd.h>

       [[przestarzałe]] 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 przestarzała. Nie należy jej używać — zob. UWAGI. 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), wypisuje łańcuch prompt, wyłącza  echo,
       odczytuje jeden wiersz („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 nowego wiersza, 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, ustawiane errno,
       wskazując błąd i zwracane NULL.

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).

       ┌───────────────────────────────────────────────────────┬────────────────────────┬───────────────────────┐
       │InterfejsAtrybutWartość               │
       ├───────────────────────────────────────────────────────┼────────────────────────┼───────────────────────┤
       │getpass()                                              │ Bezpieczeństwo wątkowe │ MT-niebezpieczne term │
       └───────────────────────────────────────────────────────┴────────────────────────┴───────────────────────┘

STANDARDY

       Brak.

HISTORIA

       Wersja 7 AT&T UNIX. Obecna w SUSv2, ale uważana za przestarzałe. Usunięta z POSIX.1-2001.

UWAGI

       Należy w zamian używać readpassphrase(3bsd), udostępnianej przez 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).

USTERKI

       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)

TŁUMACZENIE

       Autorami   polskiego   tłumaczenia   niniejszej   strony   podręcznika   są:    Andrzej    Krzysztofowicz
       <ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

       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⟩.