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 |