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

GNU                                            15 września 2017 r.                                   GETPWENT(3)