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

NAZWA

       getpwent, setpwent, endpwent - pobranie wpisu z pliku haseł

SKŁADNIA

       #include <sys/types.h>
       #include <pwd.h>

       struct passwd *getpwent(void);

       void setpwent(void);

       void endpwent(void);

   Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

       getpwent(), setpwent(), endpwent():
           _XOPEN_SOURCE >= 500
               || /* Glibc od wersji 2.19: */ _DEFAULT_SOURCE
               || /* Wersje glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

OPIS

       Funkcja  getpwent()  zwraca  wskaźnik do struktury, zawierającej poszczególne rekordy bazy
       danych haseł (na przykład z lokalnego pliku haseł /etc/passwd, NIS-a lub LDAP-a).  Podczas
       pierwszego wywołania getpwent() zwracany jest pierwszy wpis; później zwracane są kolejne.

       Funkcja setpwent() ustawia wskaźnik pliku na początek pliku bazy danych haseł.

       Funkcja   endpwent()  jest  używana  do  zamknięcia  bazy  danych  haseł  użytkowników  po
       zakończeniu jej przetwarzania.

       Struktura passwd jest następująco zdefiniowana w pliku <pwd.h>:

           struct passwd {
               char   *pw_name;       /* nazwa użytkownika */
               char   *pw_passwd;     /* hasło użytkownika */
               uid_t   pw_uid;        /* identyfikator użytkownika */
               gid_t   pw_gid;        /* identyfikator grupy */
               char   *pw_gecos;      /* informacje o użytkowniku */
               char   *pw_dir;        /* katalog domowy */
               char   *pw_shell;      /* program powłoki */
           };

       Jeśli włączone są zaciemniane (shadow(5)) hasła (a  na  wielu  instalacjach  GNU/Linux  są
       domyślnie  włączone)  zawartość  pola pw_passwd nie jest zbyt użyteczna. W takim przypadku
       większość haseł jest przechowywana w osobnym pliku.

       Zmienna pw_shell może być pusta, co oznacza, że system uruchomi domyślną powłokę logowania
       użytkownika (/bin/sh).

       Więcej informacji o polach w tej strukturze można znaleźć w podręczniku passwd(5).

WARTOŚĆ ZWRACANA

       Funkcja  getpwent()  zwraca  wskaźnik  do  struktury passwd albo NULL, jeśli nie ma więcej
       wpisów lub gdy wystąpił błąd. W przypadku wystąpienia błędu  ustawia  odpowiednią  wartość
       zmiennej  errno.  Aby  móc  sprawdzić  errno  po  wywołaniu  tej  funkcji, należy ją przed
       wywołaniem ustawić na zero.

       Zwrócona wartość może wskazywać na  statyczny  obszar,  który  może  być  nadpisany  przez
       kolejne  wywołania  getpwent(),  getpwnam(3)  lub  getpwuid(3).  (Zwróconego wskaźnika nie
       należy przekazywać do funkcji free(3)).

BŁĘDY

       EINTR  Przechwycono sygnał, patrz signal(7).

       EIO    Błąd wejścia/wyjścia.

       EMFILE Zostało  osiągnięte  ograniczenie  na  liczbę  otwartych  deskryptorów  plików  dla
              procesu.

       ENFILE Zostało osiągnięte systemowe ograniczenie na całkowitą liczbę otwartych plików.

       ENOMEM Zabrakło pamięci na przydzielenie struktury passwd.

       ERANGE Przekazano niewystarczający bufor.

PLIKI

       /etc/passwd
              lokalny plik bazy z hasłami

ATRYBUTY

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

       ┌────────────┬────────────────────────┬─────────────────────────────┐
       │InterfejsAtrybutWartość                     │
       ├────────────┼────────────────────────┼─────────────────────────────┤
       │getpwent()  │ Bezpieczeństwo wątkowe │ MT-Unsafe race:pwent        │
       │            │                        │ race:pwentbuf locale        │
       ├────────────┼────────────────────────┼─────────────────────────────┤
       │setpwent(), │ Bezpieczeństwo wątkowe │ MT-Unsafe race:pwent locale │
       │endpwent()  │                        │                             │
       └────────────┴────────────────────────┴─────────────────────────────┘
       W powyższej tabeli, pwent w race:pwent oznacza, że  jeśli  któraś  z  funkcji  setpwent(),
       getpwent()  lub  endpwent()  jest  używana  równolegle  w  różnych  wątkach programu, może
       nastąpić sytuacja wyścigu danych.

ZGODNE Z

       POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. Pole pw_gecos nie jest wymienione w  standardzie
       POSIX, ale większość implementacji je zawiera.

ZOBACZ TAKŻE

       fgetpwent(3),  getpw(3),  getpwent_r(3), getpwnam(3), getpwuid(3), putpwent(3), shadow(5),
       passwd(5)

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ą:   Przemek   Borys
       <pborys@dione.ids.pl>,  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⟩.