table of contents
other versions
- buster 1:0.7-1
- buster-backports 1:4.10.0-1~bpo10+1
- testing 1:4.10.0-1
- unstable 1:4.10.0-1
GETPW(3) | Podręcznik programisty Linuksa | GETPW(3) |
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.
2015-07-23 | GNU |