Por que não 'su -' releia o / etc / environment?

2

Eu tenho a seguinte linha em /etc/environment :

AAABBB=cccddd

Quando eu faço login usando o console de texto, a variável está definida, eu nem preciso reiniciar. Mas se eu fizer su - , a variável está desmarcada. Por que isso?

Eu tenho isso no ArchLinux e no CentOS 6 e 7.

aqui grawity diz:

Logging out and back in would apply the changes

Mas a emissão do comando su com traço é exatamente isso!

Eu realmente estou insatisfeito porque su - limpa a variável. Existe uma maneira de fazer o su se comportar melhor? Uma solução alternativa é duplicar o registro em /etc/profile.d . Não é suficiente ter o registro no perfil e não /etc/environment , porque há casos em que os scripts de perfil não são originados, por exemplo, %código%.

Upd

[root@reallin ~]# cat /etc/pam.d/su
#%PAM-1.0
auth            sufficient      pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth           required        pam_wheel.so use_uid
auth            required        pam_unix.so
account         required        pam_unix.so
session         required        pam_unix.so
[root@reallin ~]# cat /etc/pam.d/su-l
#%PAM-1.0
auth            sufficient      pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth           sufficient      pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth           required        pam_wheel.so use_uid
auth            required        pam_unix.so
account         required        pam_unix.so
session         required        pam_unix.so
    
por basin 29.06.2016 / 11:32

1 resposta

2

Embora o su -l <user> funcione bem em meu sistema, notei que sudo su -l <user> - embora escolha ".profile" muito bem - parece causar o mesmo problema que você descreve de limpar variáveis supostamente definidas universalmente em "/ etc / ambiente ".

Consegui o que parecia ser um login completo (execução do ".profile" de <user> mais as variáveis de "/ etc / environment") fazendo:

sudo -i -u <user>
    
por 18.03.2017 / 02:15

Tags