Provided by: manpages-pl-dev_0.7-2_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 zdefiniowana w <pwd.h> następująco:

           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  4.07  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 man są: Przemek  Borys  (PTM)
       <pborys@dione.ids.pl>, Andrzej M. Krzysztofowicz (PTM) <ankry@green.mf.pg.gda.pl> i Robert
       Luberda <robert@debian.org>.

       Polskie tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów  na
       stronie   http://sourceforge.net/projects/manpages-pl/.   Jest   zgodne   z  wersją   4.07
       oryginału.