ENVIRON(5) Manuel de l'administrateur Linux ENVIRON(5)
NOM
environ - Environnement de l'utilisateur.
SYNOPSIS
extern char **environ;
DESCRIPTION
La variable environ pointe sur un tableau de chaines que
l'on nomme `environnement'. (Cette variable doit être
déclaré dans les programmes utilisateurs, mais elle est
présente dans unistd.h si le fichier d'en-tête provient de
libc4 ou libc5, ou encore de glibc si la variable
_GNU_SOURCE est définie.)
Ce tableau de chaînes de caractères qui est fourni à
exec(3) quand un processus démarre. Par convention ces
chaines ont la forme `nom=valeur'. Des exemples clas
siques sont :
HOME Le répertoire de login d'un utilisateur, mis en
place par login(1) depuis le fichier des mots de
passe passwd(5).
LANG Le nom du lieux à utiliser pour les configurations
locales, s'il n'est pas écrasé par LC_ALL ou
d'autres variables d'environnement.
PATH Une liste de préfixes de répertoires, que sh(1) et
de nombreux autres programmes utilisent pour trou
ver un fichier dont le chemin est incomplet. Les
préfixes sont séparés par des `:'. (De même il
existe CDPATH utilisé par certains shells pour
connaître le répertoire destination d'une commande
cd, MANPATH utilisé par man(1) pour trouver les
pages de manuel, etc...)
PWD Le répertoire de travail actuel, renseigné par cer
tains shells.
SHELL Le nom de fichier du shell à la connexion de
l'utilisateur.
TERM Le type de terminal utilisé pour les affichages.
USER Le nom de l'utilisateur connecté (utilisé par des
programmes de style BSD).
LOGNAME
Le nom de l'utilisateur connecté (utilisé par des
programmes de style Système V).
D'autres noms peuvent être inscrits dans l'environnement
par la commande export avec la syntaxe `nom=valeur' sous
sh(1), ou par la commande setenv avec csh(1).
Linux 2 Mai 1999 1
ENVIRON(5) Manuel de l'administrateur Linux ENVIRON(5)
Des arguments peuvent aussi être insérés dans l'environ
nement lors d'un exec(2).
Un programme C peut manipuler l'environnement en utilisant
les fonctions getenv(), putenv(), setenv(), et unsetenv().
Remarquez que le comportement de nombreux programmes ou
routines de bibliothèque est influencé par la présence, ou
par la valeur de certaines variables d'environnement. En
voici quelques exemples :
Les variables LANG, LANGUAGE, NLSPATH, LOCPATH, LC_ALL,
LC_MESSAGES etc... influencent la localisation.
TMPDIR modifie le préfixe de chemin d'accès des fichiers
crées par tmpnam() et consort, les répertoires temporaires
de sort(1) ou d'autres programmes.
LD_LIBRARY_PATH, LD_PRELOAD et les autres variables LD_*
modifient le comportement du chargeur/éditeur de liens
dynamique.
POSIXLY_CORRECT oblige certains programmes ou routines à
respecter scrupuleusement le standard POSIX.
Le comportement de malloc() est inluencé par les variables
MALLOC_*.
La variable HOSTALIASES fourni le nom du fichier d'alias
consulté par gethostbyname().
TZ et TZDIR gèrent les fuseaux horaires.
TERMCAP donne des indications sur la manière de traiter le
terminal (ou donne le nom d'un fichier contenant ces
spécifications).
Etc... etc...
Il est clair qu'il y a ici un risque concernant la
sécurité. De nombreuses commandes système peuvent être
induites en erreur par un utilisateur qui fournirait des
valeurs particulières pour IFS ou LD_LIBRARY_PATH.
VOIR AUSSI
login(1), sh(1), bash(1), csh(1), tcsh(1), execve(2),
exec(3), getenv(3), putenv(3), setenv(3), unsetenv(3).
TRADUCTION
Christophe Blaess, 1997.
Linux 2 Mai 1999 2