table of contents
- bookworm-backports 4.24.0-2~bpo12+1
- testing 4.24.0-2
- unstable 4.24.0-2
getpwent(3) | Library Functions Manual | getpwent(3) |
NUME¶
getpwent, setpwent, endpwent - obține intrarea din fișierul de parole
BIBLIOTECA¶
Biblioteca C standard (libc, -lc)
SINOPSIS¶
#include <sys/types.h> #include <pwd.h>
struct passwd *getpwent(void); void setpwent(void); void endpwent(void);
getpwent(), setpwent(), endpwent():
_XOPEN_SOURCE >= 500
|| /* glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
DESCRIERE¶
Funcția getpwent() returnează un indicator către o structură care conține câmpurile defalcate ale unei înregistrări din baza de date de parole (de exemplu, fișierul local de parole /etc/passwd, NIS și LDAP). Prima dată când este apelată getpwent(), aceasta returnează prima intrare; ulterior, returnează intrări succesive.
Funcția setpwent() revine la începutul bazei de date cu parole.
Funcția endpwent() este utilizată pentru a închide baza de date cu parole după ce a fost efectuată întreaga procesare.
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 */ };
Atunci când parolele shadow(5) sunt activate (ceea ce este implicit în multe instalații GNU/Linux), conținutul lui pw_passwd nu este de obicei foarte util. În acest caz, majoritatea parolelor sunt stocate într-un fișier separat.
Variabila pw_shell poate fi goală, caz în care sistemul va executa shell-ul implicit (/bin/sh) pentru utilizator.
Pentru mai multe informații despre câmpurile acestei structuri, consultați passwd(5).
VALOAREA RETURNATö
Funcția getpwent() returnează un indicator către o structură passwd sau NULL dacă nu mai există intrări sau dacă s-a produs o eroare. În cazul în care apare o eroare, errno este configurată pentru a indica eroarea. Dacă se dorește verificarea lui errno după apel, aceasta trebuie să fie stabilită la zero înainte de apel.
Valoarea de returnare poate indica o zonă statică și poate fi suprascrisă de apelurile ulterioare la getpwent(), getpwnam(3) sau getpwuid(3); (nu pasați indicatorul returnat la free(3)).
ERORI-IEȘIRE¶
- EINTR
- A fost captat un semnal; a se vedea signal(7).
- EIO
- Eroare de In/Ieș.
- EMFILE
- Limita per proces a numărului de descriptori de fișiere deschise a fost atinsă.
- ENFILE
- Limita la nivel de sistem a numărului total de fișiere deschise a fost atinsă.
- ENOMEM
- Memorie insuficientă pentru alocarea structurii passwd.
- ERANGE
- Spațiul de memorie tampon furnizat este insuficient.
FIȘIERE¶
- /etc/passwd
- fișierul local al bazei 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 |
getpwent() | Siguranța firelor | MT-Unsafe race:pwent race:pwentbuf locale |
setpwent(), endpwent() | Siguranța firelor | MT-Unsafe race:pwent locale |
În tabelul de mai sus, pwent din race:pwent semnifică faptul că, dacă oricare dintre funcțiile setpwent(), getpwent() sau endpwent() sunt utilizate în paralel în diferite fire de execuție ale unui program, pot apărea situații de competiție de date.
STANDARDE¶
POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD. Câmpul pw_gecos nu este specificat în POSIX, dar este prezent în majoritatea implementărilor.
CONSULTAȚI ȘI¶
fgetpwent(3), getpw(3), getpwent_r(3), getpwnam(3), getpwuid(3), putpwent(3), shadow(5), 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.
5 februarie 2023 | Pagini de manual de Linux 6.03 |