Encontrou um erro ao executar comando sudo no Ubuntu ?
Tenha muita calma pois tem como corrigir…
Mas é necessário entender a causa raiz para então solucionar e recuperar o acesso administrativo ao sistema de forma rápida.
E para ajuda-lo(a) esse post vai ensinar a solucionar 6 erros que podem impedir a execução do comando sudo.
1. Erro “Comando sudo não encontrado”
Receber a mensagem de que o “comando sudo não encontrado” ou “sudo command not found” indica que o pacote que instala o programa sudo não está instalado no sistema.
Isso é muito comum em instâncias enxutas do Ubuntu, como imagens Docker ou em sistemas red hat que não instala o sudo por padrão.
Como Solucionar ?
No ubuntu (ou debian), instale o pacote sudo acessando a linha de comando com o usuário root e execute os seguintes comandos:
apt update
apt install sudo -ySe o sistema operacional for Red Hat ou baseado (Rocky Linux ou AlmaLinux) instale o sudo executando o comando:
dnf install sudo -y2. Erro “Usuário não está no arquivo sudoers”
Esse erro ao executar o comando sudo ocorre quando o sistema identifica que o usuário não possui permissão para usar o comando sudo.
A causa raiz do problema é que o usuário não é membro do grupo configurado em /etc/sudoers.
Por segurança, o Linux não concede privilégios administrativos automaticamente a todos os usuários criados, é necessário que um administrador adicione essa permissão manualmente.
Como Solucionar ?
A solução para o erro “usuário não está no arquivo sudoers” ou “User is not in the sudoers file” é adicionar seu usuário ao grupo configurado no arquivo /etc/sudoers.
No ubuntu basta adicionar o usuário que precisa de privilégios ao grupo sudo. Para conseguir fazer essa tarefa, acesse a linha de comando usando a conta de usuário root.
E em seguida execute o comando a seguir, substituindo dlncloud pelo nome do usuário real:
usermod -aG sudo dlncloud # substitua dlncloud pelo seu usuárioNo Red Hat ou AlmaLinux ou Rocky Linux, o grupo configurado em /etc/sudoers por padrão é o wheel, então o comando completo seria:
usermod -aG wheel dlncloud # substitua dlncloud pelo seu usuárioIMPORTANTE
Depois de executar o comando usermod -aG encerre a sessão do usuário adicionado como membro do grupo sudo ou wheel para que os privilégios do comando sudo passem a funcionar no próximo login.
3. Erro “sudo: /etc/sudoers é gravável globalmente”
O erro “sudo: /etc/sudoers is world writable” ou “sudo: /etc/sudoers é gravável globalmente” é gerado porque o arquivo de configuração do sudo está permitindo que qualquer usuário do sistema possa ler ou editar seu conteúdo.

E o comando sudo é programado para se recusar a rodar se o arquivo /etc/sudoers não tiver permissões restritas, pois isso representa um erro grave onde qualquer pessoa poderia se tornar administrador.
Como Solucionar ?
A solução é alterar as permissões do arquivo /etc/sudoers, executando o comando a seguir usando o usuário root:
chmod 440 /etc/sudoersEssa correção é vital para manter a segurança no sistema seja em um servidor ou desktop.
4. Erro “sudo: /etc/sudoers tem como dono o uid 1000, deveria ser 0”
Um outro erro ao executar o comando sudo é “sudo: /etc/sudoers tem como dono o uid 1000, deveria ser 0” ocorre quando a propriedade do arquivo de configuração do sudo foi alterada de “root” para um usuário comum (no exemplo: UID 1000).

Assim o comando sudo é desabilitado por segurança, pois o arquivo nunca deve pertencer a um usuário comum.
No Linux, o UID 0 sempre pertence ao superusuário (root), enquanto o UID 1000 é geralmente atribuído ao primeiro usuário criado no sistema que pode se autenticar.
Como Solucionar ?
Para resolver esse erro ao executar comando sudo, você precisa devolver a propriedade do arquivo /etc/sudoers ao root.
Como o sudo não funcionará enquanto o erro persistir, acesse o sistema com o usuário root e restaure a propriedade:
chown root:root /etc/sudoers5. Erro “sudo: /usr/bin/sudo deve ter como dono o uid 0 e tem definido o bit setuid”
Esse é mais um erro ao executar o comando sudo e é causado porque as propriedades de execução do comando sudo (/usr/bin/sudo) foram alteradas.

Para que o /usr/bin/sudo funcione o usuário proprietário deve ser o root e a permissão especial chamada SUID tem que está definida, para permitir que um usuário comum execute o comando com os privilégios do dono do arquivo (neste caso, o root).
Como Solucionar ?
Para corrigir o erro “sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set” ou “sudo: /usr/bin/sudo deve ter como dono o uid 0 e tem definido o bit setuid” você precisará acessar o terminal com o usuário root, e executar os seguintes comandos:
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudoO Primeiro comando devolve a propriedade de /usr/bin/sudo para o usuário root e o segundo comando concede a permissão SUID.
6. Erro “sudo: sinto muito, você deve ter um tty para executar sudo”
O erro “sudo: sinto muito, você deve ter um tty para executar sudo” ou “sudo: sorry, you must have a tty to run sudo” acontece quando o sistema tenta executar o comando sudo em um ambiente que não possui um terminal interativo (TTY) associado.

Quando a configuração “Defaults requiretty” está presente em /etc/sudoers, ela impede que scripts de automação, cronjobs ou conexões remotas via SSH executem o comando sudo sem uma sessão interativa.
Essa configuração existe para evitar ataques onde processos em segundo plano tentam escalar privilégios silenciosamente.
Como Solucionar ?
Para resolver esse erro ao executar comando sudo, tem duas alternativas. A primeira é editar /etc/sudoers e desativar essa exigência, seguindo as etapas a seguir:
1. Execute o comando abaixo com um usuário que tenha autorização para utilizar o sudo e editar o arquivo /etc/sudoers:
sudo visudoou execute visudo usando o usuário root:
visudo2. Localize a configuração “Defaults requiretty” e comente a configuração para desativa-la:
#Defaults requiretty3. Salve as alterações e saia do editor de configuração do sudo
Caso opte por manter a configuração e precisa executar o comando sudo em uma sessão do ssh, utilize a opção -t do comando ssh, por exemplo:
ssh -t [email protected] "sudo comando"Substituindo no comando anterior o usuário “dlncloud” pelo seu usuário, “10.0.2.15” pelo endereço do servidor e a palavra “comando” pelo comando real.
Desativar o “Defaults requiretty” é uma prática comum em servidores que utilizam ferramentas de automação como Ansible ou Jenkins.
Dicas para evitar erro ao executar comando sudo
Adotar boas práticas no dia a dia protege os arquivos essenciais do sudo e impede que erros aconteçam. Abaixo, é listado dicas estratégicas para evitar problemas.
1. Use sempre o comando visudo para editar as configurações do sudo
Nunca edite o arquivo /etc/sudoers com editores de texto como nano ou vim diretamente. O comando visudo abre o arquivo em um editor que valida a sintaxe antes de salvar.
Se você cometer um erro de digitação, o visudo impedirá o salvamento, evitando que você perda o acesso ao sudo.
2. Não altere as permissões de /etc/sudoers e /usr/bin/sudo
Evite alterar as permissões padrões do arquivo de configuração /etc/sudoers para evitar erros ou brechas de segurança. E não remova a permissão SUID de /usr/bin/sudo, pois isso impossibilita que o sudo seja usado.
3. Utilize o diretório /etc/sudoers.d
Em vez de modificar o arquivo /etc/sudoers, crie arquivos de configuração dentro de /etc/sudoers.d/. Isso diminui as chances de corromper as configurações globais de privilégios do sudo.
Lembre-se… Prevenir um erro ao executar comando sudo é muito mais simples do que recuperar acesso de root ao sistema através do modo de recuperação.
Conclusão
Neste post foi explorado uma lista de erros relacionados ao comando sudo, mostrando as causas e em seguida as soluções.
Para quem está começando, a dica é mantenha a calma ao lidar com o terminal e siga as orientações da seção anterior, também é recomendado ler o manual do arquivo /etc/sudoers.
Ficou com alguma dúvida sobre como resolver um erro ao executar comando sudo ou tem uma sugestão ? Deixe seu comentário abaixo, pois seu feedback ajuda muito.

