Algunos han respondido diciendo que /etc/environment
está depurada y / o que ya no se usa en Debian, y esto es (como en la versión 7) falso.
El archivo es realmente leído por PAM, específicamente pam_env(8)
, a través de un envfile
indicador predeterminado . La página de manual también establece este valor predeterminado en la sección ARCHIVOS.
Los wikis citados (especialmente el de configuración regional) simplemente afirman que las variables de entorno basadas en la configuración regional ahora deben estar /etc/profile
. Su declaración "(en versiones anteriores de Debian, también / etc / environment)" es vaga y está en el contexto de las configuraciones regionales.
Un vistazo rápido /etc/pam.d
muestra:
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
Esas líneas de configuración son aditivas y, como falta la primera envfile
, su valor predeterminado es /etc/environment
.
Todo esto, por supuesto, se basa en cualquier binario que esté utilizando ( crond
, shells de inicio de sesión, etc.) se compila contra PAM.
Finalmente, esto implica que otros sistemas que usan PAM (por ejemplo, RedHat), se comportan igual, como se puede ver en su respectiva página de manual.