Os arquivos que são lidos dependem do shell do usuário alvo. Portanto, por exemplo, se você usar sudo -u user1 -i
e usuário1 usar csh
, ele lerá ~user1/.login
. Para usuários do ksh, seria ~user1/.profile
.
Para bash
usuários (como root
), o arquivo lido é ~/.bash_profile
se existir, com um retorno para ~/.profile
por exemplo
% sudo head -1 /root/.bash_profile /root/.profile
==> /root/.bash_profile <==
echo RUNNING BASH_PROFILE
==> /root/.profile <==
echo RUNNING PROFILE
% sudo -i
RUNNING BASH_PROFILE
root@server:~# rm /root/.bash_profile
root@server:~# exit
logout
% sudo -i
RUNNING PROFILE
root@server:~#
Assim, podemos ver a presença de .bash_profile
impedido de que .profile
seja executado. Este é um comportamento normal para bash
login shells, seja acessado através de um login ssh ou via sudo -i
.