getpw(3) Library Functions Manual getpw(3) NAZWA getpw - rekonstrukcja wpisu z pliku passwd. BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #define _GNU_SOURCE /* See feature_test_macros(7) */ #include #include [[deprecated]] int getpw(uid_t uid, char *buf); OPIS Funkcja getpw() rekonstruuje linie wpisu w pliku passwd dla uzytkownika okreslonego przez uid. Wynik jest zapisywany do bufora buf. Zwrocony bufor zawiera linie postaci: name:passwd:uid:gid:gecos:dir:shell Struktura passwd jest nastepujaco zdefiniowana w pliku : struct passwd { char *pw_name; /* nazwa uzytkownika */ char *pw_passwd; /* haslo uzytkownika */ uid_t pw_uid; /* identyfikator uzytkownika */ gid_t pw_gid; /* identyfikator grupy */ char *pw_gecos; /* informacje o uzytkowniku */ char *pw_dir; /* katalog domowy */ char *pw_shell; /* program powloki */ }; Wiecej informacji o polach w tej strukturze mozna znalezc w podreczniku passwd(5). WARTOSC ZWRACANA Po pomyslnym zakonczeniu getpw() zwraca zero, po bledzie zwraca -1 i odpowiednio ustawia errno, wskazujac na rodzaj bledu. Jesli w bazie danych hasel nie znaleziono identyfikatora uid, to getpw() zwraca -1, ustawia errno na 0 i pozostawia buf w stanie niezmienionym. BLEDY 0 lub ENOENT Brak uzytkownika odpowiadajacego identyfikatorowi uid. EINVAL buf ma wartosc NULL. ENOMEM Zabraklo pamieci na przydzielenie struktury passwd. PLIKI /etc/passwd baza danych o haslach ATRYBUTY Informacje o pojeciach uzywanych w tym rozdziale mozna znalezc w podreczniku attributes(7). +--------------------+--------------------------+----------------------+ |Interfejs | Atrybut | Wartosc | +--------------------+--------------------------+----------------------+ |getpw() | Bezpieczenstwo watkowe | MT-bezpieczne locale | +--------------------+--------------------------+----------------------+ STANDARDY None. HISTORIA SVr2. USTERKI Funkcja getpw() jest niebezpieczna, gdyz moze przepelnic udostepniony bufor buf. Zostala zastapiona przez getpwuid(3). ZOBACZ TAKZE endpwent(3), fgetpwent(3), getpwent(3), getpwnam(3), getpwuid(3), putpwent(3), setpwent(3), passwd(5) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Przemek Borys , Andrzej Krzysztofowicz i Robert Luberda Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.06 31 pazdziernika 2023 r. getpw(3)