Há uma diferença entre sudo -s
e sudo -i
.
Você está usando sudo -s
, que não define os recursos do usuário de destino, incluindo a variável $HOME
. Apenas carrega o shell do usuário.
sudo -i
executa o shell como um shell de login, que é como uma nova sessão, incluindo a configuração da casa certa, bem como o carregamento de .profile
e .login
.
Veja man sudo
para detalhes.
Demonstração
Você pode ver as diferenças entre sudo -s
e sudo -i
aqui:
root@node51 [~]# sudo -s -u deltik echo '$USER' '$HOME'
deltik /root
root@node51 [~]# sudo -i -u deltik echo '$USER' '$HOME'
deltik /home/deltik