Corrigir 'O nome de usuário não está no arquivo Sudoers. Este incidente será relatado.' no Debian

29 de janeiro de 2020

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

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:

Comandos para usar no terminal

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 -
  • Você precisa substituir SEU_NOME_DE_USUARIO pelo nome de usuário que deseja adicionar ao grupo sudo.
  • Usei 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:

Comandos para usar no terminal

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.

Linux Uprising Blog
Propaganda
Propaganda