Quelques-uns ont répondu en disant que cela /etc/environment
est privé et / ou qu'ils ne sont plus utilisés dans Debian, ce qui est faux (à partir de la version 7).
Le fichier est en fait lu par PAM - en particulier pam_env(8)
, via un envfile
indicateur par défaut . La page de manuel indique également cette valeur par défaut dans la section FILES.
Les wikis cités (en particulier l'environnement local one) indiquent simplement que les variables d'environnement basées sur l'environnement local sont désormais censées figurer /etc/profile
. Leur déclaration "(dans les anciennes versions de Debian, ainsi que / etc / environment)" est vague et se situe dans le contexte des paramètres régionaux.
Un rapide grep à travers les /etc/pam.d
spectacles:
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 additives, et comme la première est manquante envfile
, sa valeur par défaut est donc /etc/environment
.
Bien entendu, tout cela dépend du binaire que vous utilisez ( crond
compiles de connexion, etc.) qui sont compilés avec PAM.
Enfin, cela implique que d’autres systèmes utilisant PAM (par exemple, RedHat) se comportent de la même manière, comme le montre la page de manuel correspondante.