getenv(3) | Library Functions Manual | getenv(3) |
getenv, secure_getenv - Lire une variable d'environnement
Bibliothèque C standard (libc, -lc)
#include <stdlib.h>
char *getenv(const char *name); char *secure_getenv(const char *name);
secure_getenv() :
_GNU_SOURCE
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'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.
La fonction getenv() renvoie un pointeur sur la valeur correspondante de l'environnement ou NULL s'il n'y a pas de correspondance.
secure_getenv() a été introduite dans la glibc dans sa version 2.17.
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface | Attribut | Valeur |
getenv(), secure_getenv() | Sécurité des threads | MT-Safe env |
getenv() : POSIX.1-2001, POSIX.1-2008, C99, SVr4, 4.3BSD.
secure_getenv() est une extension GNU.
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.
clearenv(3), getauxval(3), putenv(3), setenv(3), unsetenv(3), capabilities(7), environ(7)
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.
5 février 2023 | Pages du manuel de Linux 6.03 |