getpw - reconstruiește intrarea liniei de parolă
Biblioteca C standard (libc, -lc)
#define _GNU_SOURCE /* Consultați feature_test_macros(7) */
#include <sys/types.h>
#include <pwd.h>
[[depreciat]] int getpw(uid_t uid, char *buf);
Funcția getpw() reconstruiește linia de intrare a parolei pentru ID-ul de utilizator dat uid în memoria tampon buf. Memoria tampon returnată conține o linie cu formatul
nume:parola:uid:gid:gecos:dir:shell
Structura passwd este definită în <pwd.h> după cum urmează:
struct passwd {
char *pw_name; /* numele utilizatorului */
char *pw_passwd; /* parola utilizatorului */
uid_t pw_uid; /* identificatorul utilizatorului */
gid_t pw_gid; /* identificatorul grupului */
char *pw_gecos; /* informații despre utilizator */
char *pw_dir; /* directorul personal „acasă” */
char *pw_shell; /* programul shell */
};
Pentru mai multe informații despre câmpurile acestei structuri, consultați passwd(5)EN.
Funcția getpw() returnează 0 în caz de succes. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.
Dacă uid nu este găsit în baza de date cu parole, getpw() returnează -1, configurează errno la 0 și lasă buf neschimbat.
- 0 sau ENOENT
- Nu există niciun utilizator care să corespundă uid-lui.
- EINVAL
- buf este NULL.
- ENOMEM
- Memorie insuficientă pentru alocarea structurii passwd.
- /etc/passwd
- fișier de bază de date de parole
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7)EN.
| Interfață | Atribut | Valoare |
| getpw() | Siguranța firelor | MT-Safe locale |
Funcția getpw() este periculoasă, deoarece poate depăși memoria tampon furnizată buf. Această funcție este înlocuită de getpwuid(3)EN.
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.