root vs sudo: Por Que Você Não Deve Trabalhar como root
O que você vai conseguir fazer
- Explicar a diferença entre root e um usuário comum
- Entender por que não se trabalha como root e usar o sudo com segurança
Pré-requisitos (leia estes primeiro)
Você Foi Mandado a Adicionar sudo, mas O Que É root?
Seguindo tutoriais online, você continua vendo comandos que começam com sudo, como sudo apt update. Talvez você o trate como uma palavra mágica que adiciona para as coisas funcionarem. Ao se aprofundar mais, encontra avisos como "não trabalhe como rootA conta de administrador especial que pode fazer qualquer coisa no sistema." e "use o menor privilégio". Isso só aumenta a confusão.
root é a conta de administrador que faz tudo no Linux. sudo é uma forma de emprestar esse poder para um único comando. Neste guia, Lina e Veterano Linny organizam por que você permanece como usuário normal e usa sudo apenas quando necessário. Ao final, sudo se torna um dispositivo de segurança que você entende, não um feitiço que você repete.
O Que Você Vai Aprender
- Que
root(o superusuário) é uma conta especial que pode fazer tudo - Por que permanecer logado como root é perigoso
- Que
sudoempresta privilégios para apenas um comando - A diferença entre
suesudo - A forma básica
sudo comando - A ideia por trás do "princípio do menor privilégio"
1. O Que É root, de Verdade?
Conclusão: root é a única conta especial de administrador com permissãoAs regras de acesso de leitura / escrita / execução definidas em um arquivo ou diretório. para fazer tudo no Linux. Ela contorna todas as verificações de permissão e pode ler, escrever ou deletar qualquer arquivo do sistema.
sudo na frente dos comandos. Mas o que é root, afinal?root é a conta mais poderosa do Linux — a que pode fazer qualquer coisa. "Superusuário", "administrador" e "usuário privilegiado" são nomes diferentes para a mesma coisa.root = uma conta isenta de verificações de permissão
- Seu nome de usuário é
root, e seu ID de usuário (UID) é0 - Pode ler, escrever e deletar tudo, independentemente das permissões de um arquivo (
rwx) - Pode realizar ações em todo o sistema (instalar pacotes, reiniciar serviços, adicionar usuários)
É mais preciso pensar "os limites foram removidos" do que "é poderoso". Para entender permissões em si, veja Um Modelo Mental para Permissões.
2. Por Que Trabalhar como root É Perigoso?
Conclusão: Como o root ignora verificações de permissão, um único erro de digitação pode quebrar todo o sistema. O perigo real é que erros e malware alcançam "todas as áreas" em vez de ficarem contidos.
Erros como root podem ser fatais
Com o dispositivo de segurança de verificação de permissão removido, o root torna esses acidentes fáceis.
- Um comando de exclusão digitado errado remove arquivos do sistema que você nunca quis tocar
- Um arquivo de configuração acidentalmente sobrescrito deixa a máquina incapaz de inicializar
- Um malware executado como root reescreve todo o sistema
Faça seu trabalho cotidiano como usuário normal, e peça direitos de admin apenas no momento em que precisar. É assim que você mantém o raio de impacto pequeno.
Deletar não manda o arquivo para uma lixeira
Se você está acostumado com a Lixeira do Windows ou do macOS, esta é a maior armadilha.
- Diferença em relação à interface gráfica: um arquivo removido com
rmnunca vai para a lixeira. Ele desaparece na hora. - A opção mais segura:
rm -ipergunta "deletar este?" para cada arquivo antes de remover. - Uma tranquilidade: o terminalUm programa interativo que interpreta os comandos digitados e os executa. virtual deste site é para aprender. Seu próprio computador continua seguro, então experimente à vontade.
Execute rm como root e esse alcance de "foi de vez" se amplia para todo o sistema. É por isso que você permanece usuário normal por padrão.
3. O Que o Comando sudo Faz?
Conclusão: sudo executa apenas um comando com os privilégios do root. Você permanece como usuário normal e empresta poder apenas quando necessário.
sudo. sudo significa "superuser do" (fazer como superusuário), e pede ao sistema para "executar apenas este comando como administrador".sudo apt update, apenas aquele comando apt update é executado com os privilégios do root. No momento em que termina, você volta ao seu usuário normal. Você não permanece como root.sudo = emprestar privilégios para "apenas um comando"
- Apenas o comando prefixado com
sudoé executado com privilégios de root - Você retorna ao seu usuário normal imediatamente depois (não permanece como root)
- Na primeira vez, pede sua própria senha (não a senha do root)
- Registra quem executou o quê e quando
Não "administrador para sempre", mas "administrador para o único momento em que você precisa". Essa é a essência de se manter seguro.
Figura 1: o privilégio fica emprestado apenas enquanto a linha da direita mostra a faixa laranja. No resto do tempo, o usuário continua sendo um usuário comum. A faixa root não é outra pessoa — ela representa os privilégios do root — e stdout é o resultado do comando. A confirmação de senha foi omitida do diagrama.
4. Como su e sudo São Diferentes?
Conclusão: su te muda para root e permanece lá; sudo empresta privilégios para um comando e os devolve imediatamente. Para uso cotidiano, sudo é a escolha segura.
su. Como ele é diferente do sudo?su (substitute user, substituir usuário) troca de usuário. Sem argumento, te muda para root. Uma vez que você muda, permanece como root até dar exit.su te torna root, cada comando que você digita é executado com privilégios de root. O estado sem freio continua. Com sudo, é por comando, então você passa apenas um momento no estado perigoso.| Item | su |
sudo |
|---|---|---|
| O que faz | Muda para root e permanece lá | Empresta privilégios para um comando |
| Escopo do poder | root até você dar exit |
Apenas enquanto aquele comando executa |
| Senha pedida | senha do root | a sua própria (do usuário em execução) |
| Registro | O momento em que você se torna root fica registrado, mas o que você faz depois não | Registra quem fez o quê |
| Uso cotidiano | Desencorajado | Recomendado |
sudo su existe também, mas comece com sudo comando
Existe também sudo su ou sudo -i para "entrar em um shell root via sudo" — um shell é o programa interativo que recebe os comandos que você digita e os executa; "terminal" e "console" apontam para praticamente a mesma coisa. É usado quando você precisa executar várias tarefas admin em sequência, mas carrega o mesmo risco que su porque você fica em um shell root. Enquanto você é iniciante, é mais seguro se acostumar com a forma básica: adicionar sudo a cada comando.
5. Como Usar sudo? (A Forma Básica)
Conclusão: Basta colocar
sudona frente do comando que precisa de direitos de admin. A forma básica ésudo <comando>, e pede sua própria senha na primeira vez.
sudo na frente de um comando que precisa de direitos de admin. Por exemplo, para atualizar a lista de pacotes — um pacote é o formato com que o Linux distribui programas — você digita isso.sudo apt update
[sudo] password for lina: Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease ...
Você pode verificar quem você é agora com whoami.
whoami
lina
Apenas dentro do comando prefixado com sudo você age como root; quando termina, você volta a ser lina.
Verifique o que você tem permissão de fazer com sudo -l
Quais usuários podem usar sudo, e quais comandos podem executar, é gerenciado em um arquivo de configuração chamado /etc/sudoers. Para listar as ações sudo permitidas para você, execute isso.
sudo -l
Saber "o que posso executar com direitos de admin" torna mais rápido diagnosticar um beco sem saída de Permission denied.
6. O Que É o Princípio do Menor Privilégio?
Conclusão: A ideia de manter apenas os privilégios mínimos necessários para a tarefa. Permaneça como usuário normal no dia a dia e peça direitos de admin apenas no momento em que precisar, reduzindo tanto acidentes quanto danos.
sudo apenas para o único momento em que precisa.Menor privilégio vira um hábito
- Faça login como usuário normal no dia a dia (não viva como root)
- Adicione
sudoapenas a comandos que precisam de direitos de admin - Antes de adicionar
sudo, pause e pergunte "este comando realmente precisa de direitos de admin?" - Não copie, cole e execute um comando
sudoque você não entende
Torne "devolver rapidamente privilégios fortes" um hábito, e você vai prevenir a maioria dos acidentes.
7. Como Experimentar na Prática?
Conclusão: Verifique quem você é com
whoami, depois realmente digite comandos com e semsudopara ver como o acesso muda. Essa é a forma mais rápida de entender.
whoami, depois tente uma ação privilegiada com e sem sudo — você vai sentir "ah, é aqui que os direitos de admin são necessários."whoami e a sensação de privilégios sem se preocupar em quebrar nada.whoami id
lina uid=1000(lina) gid=1000(lina) groups=1000(lina),27(sudo)
Se a saída do id inclui um grupo sudo (Ubuntu e Debian) ou um grupo wheel (família RHEL), aquele usuário pode usar sudo. Se uid é algo diferente de 0 (como uid=1000), você é um usuário normal agora, não root.
Digite whoami no terminal do Penguin Gym Linux e confirme "quem sou eu agora". Assim que você captar a sensação de privilégios, decidir se deve adicionar sudo vira algo natural.
O id e o sudo -l não têm suporte no terminal deste site. Experimente esses dois em uma máquina real, como o Ubuntu.
Lina Esquece de Adicionar sudo
Conclusão: Como usuário normal, criar um arquivo em um diretório de sistema para com
Permission denied. Adicionarsudofaz passar (este exemplo é de uma máquina Ubuntu real).
/etc.touch /etc/example.conf
touch: cannot touch '/etc/example.conf': Permission denied
/etc é um lugar onde usuários normais não podem escrever. Isso é prova de que o freio funcionou.sudo e tenta de novo.sudo touch /etc/example.conf ls -l /etc/example.conf
-rw-r--r-- 1 root root 0 Jun 6 10:10 /etc/example.conf
root.sudo pertence ao root. Tente primeiro sem sudo e adicione quando for recusado — assim você nunca usa privilégios de que não precisa.Exercícios Rápidos
Conclusão: Digite os comandos
whoami,idesudo -ldeste guia e verifique seus próprios privilégios.
Exercício 1: Verifique Quem Você É Agora
Tarefa: Exiba o nome do usuário com que você está logado.
Ver Dica 1 (Direção)
Existe um comando cujo nome soa como a pergunta "quem sou eu?" em inglês.
Ver Dica 2 (Nome do comando)
Use whoami. É "who am i" comprimido em uma palavra.
Ver Resposta
whoami
lina
Exercício 2: Verifique se Você Está no Grupo sudo
Tarefa: Exiba seus grupos e veja se sudo está entre eles.
Ver Dica 1 (Direção)
Um comando mostra seu ID de usuário e seus grupos juntos. Tem duas letras.
Ver Dica 2 (Nome do comando)
Use id e olhe a parte groups= da saída.
Ver Resposta
id
uid=1000(lina) gid=1000(lina) groups=1000(lina),27(sudo)
Se groups= contém 27(sudo) (ou wheel na família RHEL), aquele usuário pode usar sudo. Faça este exercício em uma máquina real, como o Ubuntu.
Exercício 3: Liste as Ações sudo Permitidas para Você
Tarefa: Exiba quais ações sudo você tem permissão de executar.
Ver Dica 1 (Direção)
O próprio sudo aceita uma opção que lista suas permissões. Pense na primeira letra de "list" (listar).
Ver Dica 2 (Nome do comando)
Use sudo -l.
Ver Resposta
sudo -l
User lina may run the following commands on penguin:
(ALL : ALL) ALL
A saída real começa também com um bloco Matching Defaults entries, então parte dela foi omitida aqui. Na primeira vez, ele pede sua senha: nada aparece na tela enquanto você digita, mas basta digitar e apertar Enter. Faça este exercício em uma máquina real também.
Revisão
Conclusão: root é uma conta com os limites removidos; sudo empresta poder por um único momento. Essa distinção é a base do menor privilégio.
sudo a cada comando é melhor do que se acomodar em um shell root com su.sudo, depois adicionar quando for recusada.Resumo em 3 Linhas
Conclusão: Entenda o que é root, como sudo funciona e o princípio do menor privilégio, e os direitos de admin deixam de assustar.
- root é uma conta isenta de verificações de permissão - pode fazer tudo, então seus erros e danos alcançam todo o sistema
sudo <comando>empresta privilégios para um comando - diferente dosu, você nunca se acomoda como root, e cada execução fica registrada- Faça do menor privilégio um hábito - usuário normal por padrão, administrador por um momento; verifique suas permissões com
sudo -l