hrcerq
(usa Outra)
Enviado em 19/08/2017 - 12:31h
Olá.
Em Linux, existe uma distinção entre um super usuário (chamado root) e os usuários normais. O usuário root tem o fim de executar tarefas administrativas. Ele pode fazer qualquer coisa no sistema (inclusive destruí-lo!). Por isso ele deve ser usado com cautela, não é boa prática ficar usando o usuário root pra tarefas que não sejam administrativas. Os usuários normais são usados para as aplicações do dia a dia, como clientes de e-mail, navegador, editores de texto, etc.
O utilitário
su permite que você abra uma sessão no terminal com um usuário específico, inclusive root. E aí você pode executar comandos com o usuário da sessão. Uma alternativa um pouco mais prática em alguns casos é usar o parâmetro
-c, por exemplo:
su -c 'apt-get update'
Isso vai exigir a senha de root, e uma vez que você informe a senha, o comando vai ser executado e em seguida a sessão é imediatamente encerrada.
O
sudo é um utilitário para que você execute tarefas com seu usuário normal como se ele fosse administrador (root). Para isso, o seu usuário tem que estar cadastrado nas configurações de sudo com os comandos que ele tem permissão de executar via sudo (você pode restringir somente para alguns comandos essenciais, como desligar e atualizar o sistema, por exemplo). Com sudo, você não precisa saber a senha de administrador, apenas a do seu usuário normal.
Como o Ubuntu é uma distribuição focada nos desktops e muitos usuários não conhecem bem essa distinção entre administrador e usuário normal, o sudo acabou virando uma ferramenta bem comum pra executar qualquer tarefa administrativa. Já o Debian é uma distribuição mais conservadora e mantém essa separação mais evidente. Porém ambas podem ser modificadas, tanto o Ubuntu para usar o su quanto o Debian para usar o sudo.
---
Atenciosamente,
Hugo Cerqueira