Scroll to navigation

getpw(3) Library Functions Manual getpw(3)

NUME

getpw - reconstruiește intrarea liniei de parolă

BIBLIOTECA

Biblioteca C standard (libc, -lc)

SINOPSIS

#define _GNU_SOURCE             /* Consultați feature_test_macros(7) */
#include <sys/types.h>
#include <pwd.h>
[[depreciat]] int getpw(uid_t uid, char *buf);

DESCRIERE

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).

VALOAREA RETURNATĂ

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.

ERORI-IEȘIRE

0 sau ENOENT
Nu există niciun utilizator care să corespundă uid-lui.
buf este NULL.
Memorie insuficientă pentru alocarea structurii passwd.

FIȘIERE

/etc/passwd
fișier de bază de date de parole

ATRIBUTE

Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

Interfață Atribut Valoare
getpw() Siguranța firelor MT-Safe locale

STANDARDE

Niciunul.

ISTORIC

SVr2.

ERORI

Funcția getpw() este periculoasă, deoarece poate depăși memoria tampon furnizată buf. Această funcție este înlocuită de getpwuid(3).

CONSULTAȚI ȘI

endpwent(3), fgetpwent(3), getpwent(3), getpwnam(3), getpwuid(3), putpwent(3), setpwent(3), passwd(5)

TRADUCERE

Traducerea în limba română a acestui manual a fost făcută 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.

2 mai 2024 Pagini de manual de Linux 6.8