sourCEntral - mobile manpages

pdf

getpw

NAZWA

getpw - rekonstrukcja wpisu z pliku passwd.

BIBLIOTEKA

Standardowa biblioteka C (libc, -lc)

SKŁADNIA

#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <sys/types.h>
#include <pwd.h>

[[deprecated]] 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 następująco zdefiniowana w pliku <pwd.h>:

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

baza danych o hasłach

ATRYBUTY

Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).

img

STANDARDY

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)

TŁUMACZENIE

Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys AT dione DOT ids DOT pl>, Andrzej Krzysztofowicz <ankry AT green DOT mf DOT pg DOT gda DOT pl> i Robert Luberda <robert AT debian DOT org>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list.

pdf