Você estava quase certamente usando sudo -i
antes , já que su
não suporta uma opção -i
, e não suportou essa opção, mesmo em versões anteriores. (Só para ter certeza, verifiquei isso em 16.04 LTS.) Você ainda pode usar sudo -i
.
Em um sistema em que os logins raiz estão ativados, você pode inserir su
e autenticar com a senha do root. Isso lhe dá um shell de root, mas não simula um shell de login. É semelhante a sudo -s
(ou sudo --shell
), que funciona mesmo quando a conta raiz está desativada. Com sudo
, você usa sua própria senha. Na configuração padrão, você deve ser um administrador - por exemplo, um membro do grupo sudo
- para usá-lo.
Da mesma forma, se você puder efetuar login como root, também poderá simular um login raiz com su -
(ou su -l
ou su --login
). Passar o -
flag para su
define variáveis de ambiente semelhantes àquelas que seriam definidas no ambiente de login do root e inicia um shell de login. É semelhante a sudo -i
(ou sudo --login
).
A maneira mais comum de usar sudo
é executar apenas um único comando, apenas executando sudo command args...
. Isso também pode ser feito com su
passando o -c
flag, mas é estranho porque o comando inteiro incluindo seus argumentos tem que ser citado então é passado como um único argumento de linha de comando para su
: su -c 'command args...'
(Se você não está passando nenhum argumento para o comando, e o nome do comando em si não requer citação, então as aspas podem ser omitidas.)
Eu mencionei tudo isso não para fornecer um guia completo para sudo
, e eu recomendo man sudo
, RootSudo , este tópico , esta questão , o tag wiki , e o site upstream para mais informações. Além de mostrar os comandos que você mais deseja, meu ponto principal é que até mesmo para fazer coisas semelhantes, sudo
e su
usam de forma bem diferente as opções de formato abreviado , incluindo --login
. Se você já executou um comando para obter um shell de root e passou -i
, esse comando provavelmente foi sudo
.