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ê pode executar usando o sudo. O comando su usa a senha ROOT. que deve ser conhecido.
Dependendo das opções, você pode escolher o ambiente das raízes ou levá-las adiante.
Eu uso "sudo bash" para obter um shell de root. Isso é quase idêntico (talvez seja, não tenho certeza) para "sudo -i". O ambiente é controlado assim "sudo su - other_user" obtém o ambiente para o other_user. Mas "sudo su other_user" leva seu ambiente adiante sob o UID de other_user. Isso significa que seus alias e tal estarão disponíveis.
Além disso, os resultados de auditoria são diferentes nos logs de auditoria ao usar su versus sudo. Mais rastreabilidade com o sudo. Por fim, para su você dá a senha root e tem um problema 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.