Alguns responderam dizendo que /etc/environment
é privado e / ou não é mais usado no Debian, e isso é (como na versão 7) falso.
O arquivo é realmente lido pelo PAM - especificamente pam_env(8)
, via padrão para o envfile
sinalizador. A página de manual também indica esse padrão na seção FILES.
Os wikis citados (especialmente o código de idioma) apenas afirmam que as variáveis de ambiente baseadas em código de idioma devem estar agora /etc/profile
. Sua declaração "(em versões mais antigas do Debian, também / etc / environment)" é vaga e está no contexto de localidades.
Um grep rápido nos /etc/pam.d
programas:
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
Essas linhas de configuração são aditivas e, como a primeira está faltando envfile
, o padrão é /etc/environment
.
Tudo isso, é claro, depende de qualquer binário que você esteja usando ( crond
, shells de login etc.) compilados no PAM.
Finalmente, isso implica que outros sistemas que usam PAM (por exemplo, RedHat) se comportam da mesma forma, como pode ser visto em sua respectiva página de manual.