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.
getenv() : SVr4, POSIX.1-2001, BSD 4.3, C89, C99.
secure_getenv() est une extension GNU.
VERSIONS¶
secure_getenv() a été introduite dans la glibc dans sa
version 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 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.44 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> ».