Linux Wiki
Advertisement

getpwnam() i getpwuid() – dwa powiązane ze sobą wywołania systemowe występujące w GNU/Linuksie. Służą do pobierania informacji o koncie użytkownika z pliku /etc/passwd. Informacje te są zwracane jako wskaźnik do struktury passwd. Różnica pomiędzy nimi polega na tym, że getpwnam() pobiera ciąg znaków (const char*) zawierający nazwę użytkownika, a getpwuid() – jego identyfikator jako liczbę całkowitą (int).

Struktura passwd[]

Struktura passwd służy do przechowywania informacji o koncie użytkownika. Funkcje getpwnam() i getpwuid() zwracają wskaźnik do niej. Zawiera ona następujące elementy, odpowiadające kolejnym wartościom we wpisach pliku /etc/passwd:

Typ Nazwa Opis
char* pw_name Nazwa użytkownika
char* pw_passwd Zaszyfrowane hasło użytkownika
int pw_uid UID użytkownika
int pw_gid GID grupy użytkownika
char* pw_gecod Dodatkowe informacje o użytkowniku
char* pw_dir Katalog domowy użytkownika
char* pw_shell Powłoka używana przez użytkownika przy logowaniu
Advertisement