Provided by: manpages-fr-dev_4.13-4_all bug

NOM

       getenv, secure_getenv - Lire une variable d'environnement

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.

VERSIONS

       secure_getenv() a été introduite dans la glibc dans sa version 2.17.

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 │
       └───────────────────────────┴──────────────────────┴─────────────┘

CONFORMITÉ

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

       secure_getenv() est une extension GNU.

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)

COLOPHON

       Cette page fait partie de la publication 5.10 du projet man-pages Linux. Une description du projet et des
       instructions  pour  signaler  des  anomalies et la dernière version de cette page peuvent être trouvées à
       l'adresse https://www.kernel.org/doc/man-pages/.

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.

GNU                                             15 septembre 2017                                      GETENV(3)