Quelques-uns ont répondu en disant que /etc/environment
est obsolète et/ou n'est plus utilisé dans Debian, ce qui est faux (version 7).
En fait, le fichier est lu par PAM - spécifiquement, pam_env(8)
, via un paramètre par défaut de drapeau envfile
. La page de manuel mentionne également ce paramètre par défaut dans la section FICHIERS.
Les wikis cités (en particulier celui de la locale) indiquent simplement que les variables d'environnement basées sur la locale doivent désormais être dans /etc/profile
. Leur mention "(dans les anciennes versions de Debian, également /etc/environment)" est vague et concerne les locales.
Une recherche rapide dans /etc/pam.d
montre:
root@box:/etc/pam.d# grep pam_env.so *
atd:auth required pam_env.so
cron:session required pam_env.so
cron:session required pam_env.so envfile=/etc/default/locale
login:session required pam_env.so readenv=1
login:session required pam_env.so readenv=1 envfile=/etc/default/locale
sshd:auth required pam_env.so # [1]
sshd:auth required pam_env.so envfile=/etc/default/locale
su:session required pam_env.so readenv=1
su:session required pam_env.so readenv=1 envfile=/etc/default/locale
Ces lignes de configuration sont cumulatives et comme la première ne comporte pas de envfile
, elle utilise par défaut /etc/environment
.
Tout cela dépend bien sûr du binaire que vous utilisez (crond
, shells de connexion, etc.) qui est compilé avec PAM.
Enfin, cela implique que d'autres systèmes utilisant PAM (par exemple RedHat) se comportent de la même manière, comme on peut le voir dans la page de manuel respective.