Diferença entre SU e SUDO

SU vs SUDO

Nos ambientes Linux e UNIX, você precisa usar SU ou SUDO para obter acesso momentâneo a outra conta, geralmente a raiz, enquanto estiver conectado como outra. SU significa usuário substituto e SUDO significa DO substituto; embora a maioria das pessoas pense incorretamente que significa superusuário, pois é a conta que é usada com frequência. A diferença mais notável entre os dois seria o uso, pois a SU é comumente usada sozinha ou com o nome de usuário substituto como parâmetro. Com SUDO, outro comando geralmente é anexado e executado automaticamente após a autenticação ter êxito. Isso é muito útil quando você deseja executar apenas um único comando que requer acesso root; comandos seguintes também receberiam acesso root.

O SUDO se tornou um favorito entre os administradores devido à capacidade de definir restrições sobre se um usuário pode usar o SUDO e quais comandos ele pode usar com ele. As restrições são colocadas em um arquivo conf que pode ser editado. Isso fornece muita flexibilidade, especialmente em sistemas com muitos usuários. Outra vantagem do SUDO é o log que é mantido para todos os comandos. O log facilita o rastreamento de onde os erros foram cometidos e a correção. Com o SU, é prática comum criar uma conta raiz e compartilhá-la com aqueles que precisam dela via SU. É uma grande fraqueza, pois não há limitações para cada usuário. Com o SUDO, não há necessidade de compartilhar senhas, pois isso pode elevar os privilégios de usuários individuais e permitir que eles tenham acesso ao que precisam, mas não àqueles que não precisam..

Devido a essas vantagens, SUDO é preferido por muitos. SUDO também é usado por muitos usuários comuns do Linux para executar tarefas que exigem acesso de superusuário. Provavelmente, isso foi o que levou ao equívoco do SUDO como o superusuário. Apesar de tudo isso, a SU ainda tem seu próprio uso, principalmente ao mudar para outras contas de usuário para obter acesso aos seus arquivos.

Resumo:
SUDO normalmente inclui outro comando, enquanto SU não
SUDO possui restrições definíveis, enquanto SU não
SUDO mantém um log de todos os comandos, enquanto SU não
Você precisa compartilhar uma senha com SU, mas não com SUDO
SUDO eleva os privilégios do usuário, enquanto SU não