Quais são as diferenças técnicas entre os dois? A única coisa que notei é que
sudo su
requer que você digite sua própria senha (supondo que você não seja root)
Enquanto
su root
requer que você digite a senha do root. No entanto, ambos parecem fazer login na conta de usuário root.
Responder1
Há uma diferença sutil entre os dois. su root
(que pode ser abreviado para apenas su
) executa o comando su como o usuário que o invocou. sudo
executa o comando especificado ( su
) como root. Executar su
como root é essencialmente autônomo, embora provavelmente inicie um novo shell. Correr sudo -i
é uma maneira mais limpa (na minha opinião) de correr sudo su
.
Além disso, como apontado anteriormente, não há senha de root em uma instalação padrão do Ubuntu, portanto, a invocação su
por si só falhará.
Responder2
O segundo comando não pode ser executado em uma instalação padrão do Ubuntu, onde a root
conta não está habilitada.
Mas supondo que você tenha desbloqueado a root
conta dando a ele uma senha, os dois comandos só podem diferir no ambiente e no conjunto de variáveis do shell, eu acho. Compare a saída de env
nas duas situações e talvez também a saída de set
para ver as diferenças.
Responder3
Outra diferença; o comando sudo usa SUA senha e você precisa estar autorizado no arquivo /etc/sudoers. O arquivo sudoers define quais comandos você tem permissão para executar usando sudo. O comando su usa a senha ROOT. que deve ser conhecido.
Dependendo das opções você pode pegar o ambiente de raízes ou levar o seu adiante.
Eu uso "sudo bash" para obter um shell de root. Isso é quase idêntico (talvez seja, não tenho certeza) a "sudo -i". O ambiente é controlado assim "sudo su - other_user" obtém o ambiente para other_user. Mas "sudo su other_user" transporta seu ambiente sob o UID de other_user. Isso significa que seus aliases e outros estarão disponíveis.
Além disso, os resultados da auditoria são diferentes nos logs de auditoria ao usar su versus sudo. Mais rastreabilidade com sudo. Por último, para su você fornece a senha de root e tem problemas de manutenção. Se você autorizar pessoas com sudo, basta atualizar o arquivo sudoers para adicionar ou remover pessoas e elas só precisam lembrar sua própria senha. Sudoers também permite que você decida o que os outros podem fazer.
Responder4
sudo -i é como você faz isso, pelo menos a partir das 11h00, não tenho certeza sobre antes ou depois das 12h04.
transporta seu ambiente sob o UID de other_user. como dito anteriormente