Este artigo explica como "consertar" sudo que não funciona no Linux, resultando nesta mensagem ao tentar usá-lo: "seu-nome de usuário não está no arquivo sudoers. Este incidente será relatado." no Debian (e distribuições Linux baseadas em Debian, como Ubuntu). sudo
permite que os administradores do sistema executem comandos como root (administrador) ou outro usuário.
Exemplo de uma instalação nova do Debian 10 (10.1) Buster em que o sudo não funciona:
$ sudo apt update
[sudo] password for logix:
logix is not in the sudoers file. This incident will be reported.
sudo não funciona por padrão em uma instalação do Fresh Debian porque seu nome de usuário não é adicionado automaticamente ao grupo sudo
(ele funciona no Ubuntu por padrão). Mas você também pode ver isso se criou um novo usuário, mas se esqueceu de adicioná-lo ao grupo sudo
, ou se outro usuário do seu sistema removeu o nome de usuário do grupo sudo.
Você pode verificar se o usuário atualmente conectado pertence ao grupo sudo usando o comando groups
. Se o comando groups
não retornar sudo
em distribuições Linux baseadas em Debian, esse nome de usuário não poderá executar comandos com sudo
. Exemplo com saída de um usuário Debian que não está no grupo sudo:
$ groups
logix cdrom floppy audio dip video pugdev netdev scanner lpadmin
Você pode gostar de: Como instalar o Firefox mais recente (não ESR) no Debian 10 Buster (estável) ou Bullseye (teste)
A solução para isso é adicionar esse usuário ao grupo sudo. Mas como você obtém root nesse caso, já que você não pode modificar ou adicionar usuários como um usuário regular? Use su -
(ou sudo su -
) e adicione o usuário ao grupo sudo.
Portanto, para obter root e, em seguida, adicione seu usuário ao grupo sudo
, use:
su -
usermod -aG sudo SEU_NOME_DE_USUARIO
exit
Onde:
su
muda para o usuário root
, enquanto -
executa um shell de login para que coisas como /etc/profile
, .bashrc
e assim por diante sejam executadas (desta forma, comandos como usermod
estarão em seu $PATH
, então você não precisa digitar o caminho completo para o executável). Você também pode usar sudo su -
em vez de su -
SEU_NOME_DE_USUARIO
pelo nome de usuário que deseja adicionar ao grupo sudo.usermode
para adicionar um grupo a um usuário existente porque deve funcionar em qualquer distribuição Linux. adduser
ou useradd
também podem ser usados para isso (adduser USERNAME -G sudo
), mas podem não funcionar em todas as distribuições Linux. Embora este artigo seja para o Debian, eu queria tornar possível o uso dele em outras distribuições Linux também (percebi que adduser
não funciona no Solus OS, por exemplo).exit
existe o shell root, então você pode executar comandos como um usuário regular novamente.Depois disso, o sudo ainda não funciona! Você precisará fazer logout desse usuário, fazer login novamente e o sudo funcionará.
Isso corrige o problema "Nome de usuário não está no arquivo sudoers. Este incidente será relatado" na sua máquina Debian, mas você pode encontrar outro problema em alguns casos - sudo pode não estar instalado por padrão. Este é o caso, por exemplo, de uma instalação Debian mínima. Nesse caso, você verá um erro como este ao tentar executar um comando com sudo:
$ sudo apt update
bash: sudo: command not found
Nesse caso, instale sudo
no Debian desta forma:
su - #or 'sudo su -'
apt install sudo
exit
Mais alguns artigos relacionados ao Debian de que você pode gostar:
Esse post foi traduzido do site LinuxUprising.com pela rtland.team.
Confira a versão original desse post em inglês:
Fix `Username Is Not In The Sudoers File. This Incident Will Be Reported` On Debian