Em sudo -H -u golanger /bin/bash && cd /home/golanger
, seu shell atual executa sudo -H -u golanger /bin/bash
e quando isso termina com êxito, executa cd /home/golanger
. Portanto, o cd
não afeta o comando sudo
.
sudo
em si não redefine o diretório de trabalho ( -H
somente redefine o diretório inicial, não o diretório de trabalho atual). Se você deseja tornar sudo
cd
no diretório inicial do usuário de destino, não há opções de linha de comando que possam fazer diretamente o trabalho. Você terá que resolver isso:
sudo -H -u golanger /bin/sh -c 'cd; /bin/bash'
Observe que, com a opção -i
, sudo
tentará cd
no diretório inicial do usuário de destino, mas também usará o shell de login do usuário, o que fará com que ele falhe nesse caso. / p>