Provided by: manpages-fr-dev_4.26.0-1_all bug

NOM

       getenv, secure_getenv - Lire une variable d'environnement

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <stdlib.h>

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

   Exigences de macros de test de fonctionnalités 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 nommée name, et
       renvoie un pointeur sur la chaîne value correspondante.

       La fonction secure_getenv() spécifique à GNU est simplement  comme  getenv(),  à  la  différence  qu'elle
       renvoie  NULL  dans  les  cas  où  « secure execution » (exécution sécurisée) est nécessaire. L'exécution
       sécurisée est nécessaire si l'une des conditions suivantes était vraie quand le programme exécuté pour le
       processus appelant a été chargé :

       -  l'UID effectif du processus ne correspondait pas à son UID réel, ou le GID effectif  du  processus  ne
          correspondait  pas à son GID réel (c'est typiquement le cas lors de l'exécution d'un programme Set-UID
          ou Set-GID) ;

       -  le bit de capacité effective a été défini sur le fichier exécutable ;

       -  le processus a une capacité non vide permise définie.

       L'exécution sécurisée pourrait aussi être nécessaire si elle  est  déclenchée  par  certains  modules  de
       sécurité Linux.

       La  fonction  secure_getenv()  a pour but d'être utilisée dans les bibliothèques polyvalentes pour éviter
       les  vulnérabilités  qui  pourraient  survenir  si  des   programmes   Set-UID   ou   Set-GID   faisaient
       accidentellement confiance à l'environnement.

VALEUR RENVOYÉE

       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 utilisés dans cette section, consulter attributes(7).
       ┌──────────────────────────────────────────────────────────────────┬──────────────────────┬─────────────┐
       │ InterfaceAttributValeur      │
       ├──────────────────────────────────────────────────────────────────┼──────────────────────┼─────────────┤
       │ getenv(), secure_getenv()                                        │ Sécurité 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 chaînes dans la liste des variables d'environnement sont de la forme nom=valeur.

       Telle  qu'elle  est  généralement  implémentée,  getenv() renvoie un pointeur vers une chaîne de la liste
       d'environnement. L'appelant doit faire attention à ne pas modifier  cette  chaîne  car  cela  modifierait
       l'environnement du processus.

       L'implémentation de getenv() ne nécessite pas qu'elle soit réentrante. La chaîne pointée par la valeur de
       retour  de  getenv()  peut  être  allouée  statiquement  et  peut  être modifiée par un appel ultérieur à
       getenv(), putenv(3), setenv(3) ou unsetenv(3).

       Le mode « secure execution »  (exécution  sécurisée)  de  secure_getenv()  est  contrôlé  par  l'attribut
       AT_SECURE contenu dans le vecteur auxiliaire passé du noyau à l'espace utilisateur.

VOIR AUSSI

       clearenv(3), getauxval(3), putenv(3), setenv(3), unsetenv(3), capabilities(7), environ(7)

TRADUCTION

       La   traduction   française   de   cette   page   de   manuel   a   été   créée   par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>,  François  Micaux,  Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,      Thomas      Huriaux      <thomas.huriaux@gmail.com>,     Nicolas     François
       <nicolas.francois@centraliens.net>,    Florentin    Duneau    <fduneau@gmail.com>,     Simon     Paillard
       <simon.paillard@resel.enst-bretagne.fr>,    Denis    Barbier   <barbier@debian.org>   et   David   Prévot
       <david@tilapin.org>

       Cette traduction est une documentation libre ; veuillez vous  reporter  à  la  GNU General Public License
       version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si  vous  découvrez  un  bogue  dans la traduction de cette page de manuel, veuillez envoyer un message à
       debian-l10n-french@lists.debian.org.

Pages du manuel de Linux 6.9.1                     2 mai 2024                                          getenv(3)