Provided by: manpages-pl-dev_0.7-1_all
NAZWA
getpw - rekonstrukcja wpisu z pliku passwd.
SKŁADNIA
#define _GNU_SOURCE /* See feature_test_macros(7) */ #include <sys/types.h> #include <pwd.h> int getpw(uid_t uid, char *buf);
OPIS
Funkcja getpw() rekonstruuje linię wpisu w pliku passwd dla użytkownika określonego przez uid. Wynik jest zapisywany do bufora buf. Zwrócony bufor zawiera linię postaci: name:passwd:uid:gid:gecos:dir:shell 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 */ }; Więcej informacji o polach w tej strukturze można znaleźć w podręczniku passwd(5).
WARTOŚĆ ZWRACANA
Po pomyślnym zakończeniu getpw() zwraca zero, po błędzie zwraca -1 i odpowiednio ustawia errno, wskazując na rodzaj błędu. Jeśli w bazie danych haseł nie znaleziono identyfikatora uid, to getpw() zwraca -1, ustawia errno na 0 i pozostawia buf w stanie niezmienionym.
BŁĘDY
0 lub ENOENT Brak użytkownika odpowiadającego identyfikatorowi uid. EINVAL buf ma wartość NULL. ENOMEM Zabrakło pamięci na przydzielenie struktury passwd.
PLIKI
/etc/passwd plik bazy z hasłami
ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7). ┌──────────┬────────────────────────┬────────────────┐ │Interfejs │ Atrybut │ Wartość │ ├──────────┼────────────────────────┼────────────────┤ │getpw() │ Bezpieczeństwo wątkowe │ MT-Safe locale │ └──────────┴────────────────────────┴────────────────┘
ZGODNE Z
SVr2.
BŁĘDY
Funkcja getpw() jest niebezpieczna, gdyż może przepełnić udostępniony bufor buf. Została zastąpiona przez getpwuid(3).
ZOBACZ TAKŻE
endpwent(3), fgetpwent(3), getpwent(3), getpwnam(3), getpwuid(3), putpwent(3), setpwent(3), 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.