getenv(3) Library Functions Manual getenv(3) NOM getenv, secure_getenv - Lire une variable d'environnement BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include char *getenv(const char *name); char *secure_getenv(const char *name); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : secure_getenv() : _GNU_SOURCE DESCRIPTION La fonction getenv() recherche dans la liste des variables d'environnement une variable nommee name, et renvoie un pointeur sur la chaine value correspondante. La fonction secure_getenv() specifique a GNU est simplement comme getenv(), a la difference qu'elle renvoie NULL dans les cas ou << secure execution >> (execution securisee) est necessaire. L'execution securisee est necessaire si l'une des conditions suivantes etait vraie quand le programme execute pour le processus appelant a ete charge : - l'UID effectif du processus ne correspondait pas a son UID reel, ou le GID effectif du processus ne correspondait pas a son GID reel (c'est typiquement le cas lors de l'execution d'un programme Set-UID ou Set-GID) ; - le bit de capacite effective a ete defini sur le fichier executable ; - le processus a une capacite non vide permise definie. L'execution securisee pourrait aussi etre necessaire si elle est declenchee par certains modules de securite Linux. La fonction secure_getenv() a pour but d'etre utilisee dans les bibliotheques polyvalentes pour eviter les vulnerabilites qui pourraient survenir si des programmes Set-UID ou Set-GID faisaient accidentellement confiance a l'environnement. VALEUR RENVOYEE La fonction getenv() renvoie un pointeur sur la valeur correspondante de l'environnement ou NULL s'il n'y a pas de correspondance. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +-----------------------------+--------------------------+-------------+ |Interface | Attribut | Valeur | +-----------------------------+--------------------------+-------------+ |getenv(), secure_getenv() | Securite des threads | MT-Safe env | +-----------------------------+--------------------------+-------------+ STANDARDS getenv() C11, POSIX.1-2008. secure_getenv() GNU. HISTORIQUE getenv() POSIX.1-2001, C89, C99, SVr4, 4.3BSD. secure_getenv() glibc 2.17. NOTES Les chaines dans la liste des variables d'environnement sont de la forme nom=valeur. Telle qu'elle est generalement implementee, getenv() renvoie un pointeur vers une chaine de la liste d'environnement. L'appelant doit faire attention a ne pas modifier cette chaine car cela modifierait l'environnement du processus. L'implementation de getenv() ne necessite pas qu'elle soit reentrante. La chaine pointee par la valeur de retour de getenv() peut etre allouee statiquement et peut etre modifiee par un appel ulterieur a getenv(), putenv(3), setenv(3) ou unsetenv(3). Le mode << secure execution >> (execution securisee) de secure_getenv() est controle par l'attribut AT_SECURE contenu dans le vecteur auxiliaire passe du noyau a l'espace utilisateur. VOIR AUSSI clearenv(3), getauxval(3), putenv(3), setenv(3), unsetenv(3), capabilities(7), environ(7) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier et David Prevot Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 getenv(3)