getenv(3)

NUME
getenv, secure_getenv - obține o variabilă de mediu

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <stdlib.h>

char *getenv(const char *name);
char *secure_getenv(const char *name);

    Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

secure_getenv():
    _GNU_SOURCE

DESCRIERE
Funcția getenv() caută în lista de medii pentru a găsi variabila de mediu name și returnează un indicator la șirul value corespunzător.

Funcția secure_getenv() este la fel ca getenv(), cu excepția faptului că returnează NULL în cazurile în care este necesară „execuția securizată”. Execuția securizată este necesară dacă una dintre următoarele condiții a fost adevărată atunci când a fost încărcat programul executat de procesul apelant:

•   ID-ul efectiv de utilizator al procesului nu se potrivește cu ID-ul său real de utilizator sau ID-ul efectiv de grup al procesului nu se potrivește cu ID-ul său real de grup (de obicei, acesta este rezultatul executării unui program set-user-ID sau set-group-ID);

•   bitul de capacitate efectivă a fost activat în fișierul executabil; sau

•   procesul are un set de capacități permise care nu este gol.

Executarea securizată poate fi, de asemenea, necesară dacă este declanșată de unele module de securitate Linux.

Funcția secure_getenv() este destinată utilizării în bibliotecile de uz general pentru a evita vulnerabilitățile care ar putea apărea în cazul în care programele set-user-ID sau set-group-ID ar acorda accidental încredere mediului.

VALOAREA RETURNATĂ
Funcția getenv() returnează un indicator la valoarea din mediu sau NULL dacă nu există nicio potrivire.

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
getenv(), secure_getenv() | Siguranța firelor | MT-Safe env

STANDARDE

getenv()
    C11, POSIX.1-2008.

secure_getenv()
    POSIX.1-2024.

ISTORIC

getenv()
    POSIX.1-2001, C89, C99, SVr4, 4.3BSD.

secure_getenv()
    POSIX.1-2024, glibc 2.17.

NOTE
Șirurile de caractere din lista de medii sunt de forma nume=valoare „name=value”.

Așa cum este implementat în mod obișnuit, getenv() returnează un indicator către un șir de caractere din lista de medii. Apelantul trebuie să aibă grijă să nu modifice acest șir de caractere, deoarece acest lucru ar schimba mediul procesului.

Nu este necesar ca implementarea getenv() să fie reentrantă. Șirul de caractere indicat de valoarea de returnare a getenv() poate fi alocat static și poate fi modificat printr-un apel ulterior la getenv(), putenv(3), setenv(3) sau unsetenv(3).

Modul de „execuție securizată” al secure_getenv() este controlat de fanionul AT_SECURE conținut în vectorul auxiliar transmis de la nucleu către spațiul utilizatorului.

CONSULTAȚI ȘI
clearenv(3), getauxval(3), putenv(3), setenv(3), unsetenv(3), capabilities(7), environ(7)

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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.