.\" -*- coding: UTF-8 -*- '\" t .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH getlogin 3 "28 iunie 2025" "Pagini de manual de Linux 6.15" .SH NUME getlogin, getlogin_r, cuserid \- obține numele de utilizator .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBchar *getlogin(void);\fP \fBint getlogin_r(\fPsize_t bufsize; \fB char \fP\fIbuf\fP\fB[\fP\fIbufsize\fP\fB], size_t \fP\fIbufsize\fP\fB);\fP .P \fB#include \fP .P \fBchar *cuserid(char *\fP\fIstring\fP\fB);\fP .fi .P .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .P \fBgetlogin_r\fP(): .nf .\" Deprecated: _REENTRANT || _POSIX_C_SOURCE >= 199506L .fi .P \fBcuserid\fP(): .nf Începând cu glibc 2.24 (_XOPEN_SOURCE && ! (_POSIX_C_SOURCE >= 200112L) || _GNU_SOURCE Până la versiunea glibc 2.23 inclusiv: _XOPEN_SOURCE .fi .SH DESCRIERE \fBgetlogin\fP() returnează un indicator către un șir care conține numele utilizatorului conectat la terminalul de control al procesului sau un indicator nul dacă această informație nu poate fi determinată. Șirul este alocat static și poate fi suprascris la apelurile ulterioare ale acestei funcții sau ale funcției \fBcuserid\fP(). .P \fBgetlogin_r\fP() returnează același nume de utilizator în matricea \fIbuf\fP de dimensiune \fIbufsize\fP. .P \fBcuserid\fP() returnează un indicator către un șir care conține un nume de utilizator asociat cu ID\-ul efectiv al utilizatorului procesului. Dacă \fIstring\fP nu este un indicator nul, acesta trebuie să fie o matrice care poate conține cel puțin \fBL_cuserid\fP caractere; șirul este returnat în această matrice. În caz contrar, este returnat un indicator către un șir dintr\-o zonă statică. Acest șir este alocat static și poate fi suprascris la apelurile ulterioare ale acestei funcții sau ale funcției \fBgetlogin\fP(). .P Macrocomanda \fBL_cuserid\fP este o constantă de număr întreg care indică lungimea matricei de care aveți nevoie pentru a stoca un nume de utilizator. \fBL_cuserid\fP este declarată în \fI\fP. .P Aceste funcții permit programului dvs. să identifice cu certitudine utilizatorul care rulează (\fBcuserid\fP()) sau utilizatorul care s\-a conectat la această sesiune (\fBgetlogin\fP()). (Acestea pot diferi atunci când sunt implicate programe set\-user\-ID.) .P În majoritatea cazurilor, este mai util să utilizați variabila de mediu \fBLOGNAME\fP pentru a afla cine este utilizatorul. Aceasta este mai flexibilă tocmai pentru că utilizatorul poate defini \fBLOGNAME\fP în mod arbitrar. .SH "VALOAREA RETURNATĂ" \fBgetlogin\fP() returnează un indicator către numele de utilizator în cazul succesului și NULL în cazul eșecului, cu \fIerrno\fP configurată pentru a indica eroarea. \fBgetlogin_r\fP() returnează 0 în caz de succes și o valoare diferită de zero în caz de eșec. .SH ERORI\-IEȘIRE POSIX specifică: .TP \fBEMFILE\fP Limita per proces a numărului de descriptori de fișiere deschise a fost atinsă. .TP \fBENFILE\fP Limita la nivel de sistem a numărului total de fișiere deschise a fost atinsă. .TP \fBENXIO\fP Procesul apelant nu are terminal de control. .TP \fBERANGE\fP (getlogin_r) Lungimea numelui de utilizator, inclusiv octetul nul de terminare (\fB\[aq]\[rs]0\[aq]\fP), este mai mare decât \fIbufsize\fP. .P Linux/glibc are, de asemenea: .TP \fBENOENT\fP Nu există nicio intrare corespunzătoare în fișierul utmp. .TP \fBENOMEM\fP Insufficient memory to allocate passwd structure. .TP \fBENOTTY\fP Intrarea standard nu se referă la un terminal. A se vedea secțiunea «ERORI». .SH FIȘIERE .TP \fI/etc/passwd\fP fișier de bază de date de parole .TP \fI/var/run/utmp\fP (în mod tradițional \fI/etc/utmp\fP; unele versiuni libc utilizau \fI/var/adm/utmp\fP) .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lb lb lbx l l l. Interfață Atribut Valoare T{ .na .nh \fBgetlogin\fP() T} Siguranța firelor T{ .na .nh MT\-Unsafe race:getlogin race:utent sig:ALRM timer locale T} T{ .na .nh \fBgetlogin_r\fP() T} Siguranța firelor T{ .na .nh MT\-Unsafe race:utent sig:ALRM timer locale T} T{ .na .nh \fBcuserid\fP() T} Siguranța firelor T{ .na .nh MT\-Unsafe race:cuserid/!string locale T} .TE .P În tabelul de mai sus, \fIutent\fP din \fIrace:utent\fP înseamnă că, dacă oricare dintre funcțiile \fBsetutent\fP(3), \fBgetutent\fP(3) sau \fBendutent\fP(3) sunt utilizate în paralel în diferite fire ale unui program, pot apărea conflicte de date. \fBgetlogin\fP() și \fBgetlogin_r\fP() apelează aceste funcții, așa că folosim race:utent pentru a reaminti utilizatorilor. .SH VERSIUNI OpenBSD are \fBgetlogin\fP() și \fBsetlogin\fP(), precum și un nume de utilizator asociat unei sesiuni, chiar dacă aceasta nu are un terminal de control. .SH STANDARDE .TP \fBgetlogin\fP() .TQ \fBgetlogin_r\fP() POSIX.1\-2008. .TP \fBcuserid\fP() Niciunul. .SH STANDARDE .TP \fBgetlogin\fP() .TQ \fBgetlogin_r\fP(): POSIX.1\-2001. OpenBSD. .TP \fBcuserid\fP() System V, POSIX.1\-1988. Eliminat în POSIX.1\-1990. SUSv2. Eliminat în POSIX.1\-2001. .IP System V are o funcție \fBcuserid\fP() care utilizează ID\-ul real al utilizatorului în locul ID\-ului efectiv al utilizatorului. .SH ERORI Din păcate, este destul de ușor să păcălești \fBgetlogin\fP(). Uneori nu funcționează deloc, deoarece unele programe au stricat fișierul utmp. Adesea, afișează doar primele 8 caractere ale numelui de utilizator. Utilizatorul conectat în prezent la terminalul de control al programului nostru nu trebuie să fie neapărat utilizatorul care l\-a pornit. Evită \fBgetlogin\fP() din motive de securitate. .P Rețineți că glibc nu respectă specificația POSIX și utilizează \fIstdin\fP în loc de \fI/dev/tty\fP. O eroare. (Alte sisteme recente, precum SunOS 5.8, HP\-UX 11.11 și FreeBSD 4.8, returnează numele de conectare și atunci când \fIstdin\fP este redirecționat.) .P Nimeni nu știe cu exactitate ce face \fBcuserid\fP(); evitați\-l în programele portabile. Sau evitați\-l cu totul: folosiți în schimb \fIgetpwuid(geteuid())\fP, dacă asta ați vrut să spuneți. \fBNu folosiți\fP \fBcuserid\fP(). .SH "CONSULTAȚI ȘI" \fBlogname\fP(1), \fBgeteuid\fP(2), \fBgetuid\fP(2), \fButmp\fP(5) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .