Quando você executa sudo su
, inicia o shell padrão do usuário root, que provavelmente é o shell Bourne (sh). Você pode fazer sudo -s
para obter o shell padrão do usuário atual.
Quando eu acesso o servidor de rede, eu uso o comando sudo su
para obter privilégios de administrador. Recentemente, descobri que sudo bash
é o comando correto e me permitirá privilégios em su
.
Qual é a diferença entre sudo su
e sudo bash
? Eu pensei que ambos eram equivalentes.
Quais privilégios você sente falta depois
sudo su
Pode ser que você simplesmente não tenha o ambiente da raiz configurado após esse comando. Se você fizer
sudo su -
(observe o "-"), então o perfil do usuário root será lido e o ambiente (entre outras coisas, variável PATH) será definido como se você tivesse efetuado login como root. Se você correr
sudo su
, você mantém seu ambiente e obtém o uid eficaz de 0, o que significa que você tem os privilégios do usuário root sem configurar o ambiente raiz. sudo su -
altera seu diretório atual para o diretório inicial da raiz, então eu uso sudo su se eu quiser executar alguns comandos no diretório atual (por exemplo, alterar proprietário de um arquivo) sem ter que digitar em caminhos longos.