Introdução
No Linux, o usuário root tem poder ilimitado sobre o sistema. No entanto, fazer login como root no trabalho diário é perigoso. Em vez disso, usamos o sudo, que permite que usuários comuns executem comandos específicos com privilégios elevados.
O arquivo que controla quem pode usar o sudo e o que essa pessoa pode fazer é /etc/sudoers. Esse é um dos arquivos de política mais sensíveis de um sistema Linux, pois define os poderes administrativos delegados.
Gerenciar esse arquivo exige muito cuidado. Um único erro de sintaxe pode impedir que todos, inclusive os administradores, acessem o sistema. Por esse motivo, nunca edite esse arquivo diretamente com um editor de texto comum. Em vez disso, use uma ferramenta especial chamada visudo.
Esse é um arquivo de política, não apenas uma configuração de conveniência. Ele define quem pode obter privilégios administrativos, em quais condições e para quais comandos.
Neste laboratório, você aprenderá a:
- Inspecionar com segurança a configuração do sudo usando
visudo. - Conceder privilégios administrativos a um usuário.
- Verificar se os privilégios estão funcionando corretamente.
Avaliar os privilégios atuais
Antes de fazer alterações, vamos verificar o estado atual. Criamos um usuário comum chamado alex para este laboratório. Por padrão, usuários novos não têm privilégios administrativos.
Inspecionar o arquivo Sudoers
Para visualizar a configuração, usamos visudo. Essa ferramenta bloqueia o arquivo e valida a sintaxe antes de salvá-lo, evitando bloqueios acidentais no sistema.
Essa etapa de validação é justamente o motivo da existência do visudo. Com editores de texto comuns, um pequeno erro de digitação pode ser descoberto somente depois que o arquivo for salvo e o acesso pelo sudo já estiver comprometido.
Visualize a configuração atual:
sudo visudo
Você verá linhas que definem quem possui privilégios. Por exemplo:
root ALL=(ALL:ALL) ALL
%admin ALL=(ALL) ALL
%sudo ALL=(ALL:ALL) ALL
Neste ambiente, o visudo abre o arquivo no editor nano. Pressione Ctrl+X para sair sem fazer alterações.
Verificar a falta de acesso
Agora, vamos mudar para o usuário alex e tentar executar uma tarefa administrativa.
Primeiro, mude para o usuário alex:
su - alex
Digite password quando solicitado.
Em seguida, tente listar o conteúdo do diretório restrito /root:
sudo ls /root
Digite password quando solicitado.
Observe o erro:
alex is not in the sudoers file. This incident will be reported.
Isso confirma que alex é um usuário comum e não pode executar ações administrativas.
Esse é o padrão seguro. Na segurança do Linux, começar com menos privilégios e conceder somente o que é necessário faz parte do princípio do menor privilégio.
Por fim, volte ao seu usuário original (labex):
exit
Configurar os privilégios do usuário
Para permitir que alex execute comandos como root, precisamos adicionar uma regra ao arquivo /etc/sudoers.
Primeiro, abra o arquivo com segurança:
sudo visudo
Vá até o final do arquivo ou procure a seção "User privilege specification" e adicione a linha abaixo:
alex ALL=(ALL:ALL) ALL
Detalhamento da regra:
alex: o nome de usuário ao qual os privilégios serão concedidos.- O primeiro
ALL: a regra se aplica a conexões de qualquer Host. (ALL:ALL): o usuário pode executar comandos como qualquer User (por exemplo,root) e com qualquer Group.- O
ALLfinal: o usuário pode executar Any Command.
Essa regra é intencionalmente ampla para fins didáticos. Em sistemas reais, os administradores geralmente preferem regras de sudo mais restritas, que permitam comandos específicos em vez de acesso total e irrestrito.
Por fim, salve o arquivo e saia:
- Pressione
Ctrl+Oe, em seguida,Enterpara salvar. - Pressione
Ctrl+Xpara sair.
Se você tivesse cometido um erro de digitação, o visudo teria emitido um aviso, impedindo uma configuração corrompida.
Verificar os privilégios atualizados
Agora que atualizamos a configuração, alex deve ter direitos administrativos completos. Vamos verificar isso.
Primeiro, mude para o usuário alex:
su - alex
Em seguida, tente executar novamente o comando privilegiado:
sudo ls /root
Digite password se for solicitado.
Observe o resultado. Agora você deverá ver o conteúdo do diretório /root — provavelmente vazio ou contendo alguns arquivos de implementação — sem erros de acesso negado.
snap
Isso confirma que você elevou os privilégios do usuário alex com sucesso.
Nesse ponto, alex ainda não é root por padrão. Em vez disso, alex recebeu a capacidade de solicitar a execução com privilégios elevados por meio do sudo, o que é mais seguro e permite auditoria melhor do que fazer login normalmente como root.
Por fim, encerre a sessão de alex:
exit
Resumo
Neste laboratório, você aprendeu a gerenciar com segurança os privilégios de usuários.
Principais aprendizados:
- Segurança em primeiro lugar: sempre use
visudopara editar/etc/sudoers. Nunca edite o arquivo diretamente. - Delegação de privilégios: você pode conceder acesso de
roota usuários específicos sem compartilhar a senha deroot. - Verificação: sempre teste os novos privilégios para garantir que funcionam conforme o esperado.
Dominar a configuração do sudoers permite criar um sistema seguro, no qual cada usuário tem exatamente as permissões necessárias — nem mais, nem menos.



