Provided by: manpages-fr-dev_3.65d1p1-1_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 (consultez 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, dans l'environnement du processus,
       ou NULL s'il n'y a pas de correspondance.

VERSIONS

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

CONFORMITÉ

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

       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 de 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 3.65 du projet man-pages Linux. Une description du projet et des
       instructions     pour     signaler     des     anomalies    peuvent    être    trouvées    à    l'adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par
       l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

       Christophe       Blaess       <http://www.blaess.fr/christophe/>      (1996-2003),      Alain      Portal
       <http://manpagesfr.free.fr/> (2003-2006). Florentin Duneau  et  l'équipe  francophone  de  traduction  de
       Debian (2006-2009).

       Veuillez  signaler  toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org> ou par
       un rapport de bogue sur le paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C
       <section> <page_de_man> ».