A diferença entre sudo
e su
é como eles realizam a autenticação:
-
su
solicita a senha do usuário de destino. -
sudo
verifica se o usuário de origem está autorizado a executar o comando (a autorização é especificada em/etc/sudoers
). Dependendo da configuração, ele pode solicitar a senha do usuário, tanto para reduzir o risco de um console autônomo quanto para alertar o usuário de que o escalonamento de privilégios está ocorrendo.
Uma vez autorizado, o efeito é o mesmo: execute um comando como root (ou, se especificado na linha de comando, como outro usuário).
Existem outras pequenas diferenças: eles não usam as mesmas opções e não definem o ambiente para o comando que executam exatamente da mesma maneira. Mas para uso comum, eles são os mesmos.