Pesquisa de site

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


Em sistemas Unix/Linux, a conta de usuário root é a conta de superusuário e, portanto, pode ser usada para fazer tudo e qualquer coisa que possa ser alcançada no sistema.

No entanto, isso pode ser muito perigoso de muitas maneiras – uma pode ser que o usuário root digite um comando errado e quebre todo o sistema ou um invasor possa obter acesso a uma conta de usuário root e assumir o controle de todo o sistema e quem sabe o que pode fazer.

Com base neste histórico, no Ubuntu e nos derivados do Ubuntu, a conta de usuário root é bloqueada por padrão, usuários regulares (administradores de sistema ou não) só podem obter privilégios de superusuário usando o comando comando sudo.

E uma das piores coisas que pode acontecer a um administrador de sistema Ubuntu é perder privilégios para usar o comando sudo, uma situação comumente chamada de “sudo quebrado”. Isto pode ser absolutamente devastador.

Um sudo quebrado pode ser causado por qualquer um dos seguintes:

  • Um usuário não deveria ter sido removido do grupo sudo ou admin.
  • O arquivo /etc/sudoers foi alterado para evitar que usuários do grupo sudo ou admin elevem seus privilégios para o de root< usando o comando sudo.
  • A permissão no arquivo /etc/sudoers não está definida como 0440.

Para executar tarefas cruciais em seu sistema, como visualizar ou alterar arquivos importantes do sistema ou atualizar o sistema, você precisa do comando sudo para obter privilégios de superusuário. E se o uso do sudo for negado devido a um ou mais dos motivos mencionados acima.

Abaixo está uma imagem que mostra um caso em que o usuário padrão do sistema está sendo impedido de executar o comando sudo:

tecmint@TecMint ~ $ sudo visudo
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file.   This incident will be reported.

tecmint@TecMint ~ $ sudo apt install vim
[ sudo ] password for aaronkilik:
aaronkilik is not in the sudoers file.   This incident will be reported.

Como consertar comando sudo quebrado no Ubuntu

Se você estiver executando apenas o Ubuntu em sua máquina, depois de ligá-la, pressione a tecla Shift por alguns segundos para iniciar o Grub cardápio. Por outro lado, se você estiver executando uma inicialização dupla (Ubuntu junto com o Windows ou Mac OS X), deverá ver o menu de inicialização do Grub por padrão.

Usando a seta para baixo, selecione “Opções avançadas para Ubuntu” e pressione Enter.

Você estará na interface abaixo, selecione o kernel com a opção “modo de recuperação” conforme abaixo e pressione Enter para avançar para o “menu de recuperação >”.

Abaixo está o “menu Recuperação”, indicando que o sistema de arquivos raiz está montado como somente leitura. Vá até a linha “root Drop to root shell prompt” e pressione Enter.

Em seguida, pressione Enter para manutenção:

Neste ponto, você deve estar no prompt do shell root. Como vimos antes, o sistema de arquivos é montado como somente leitura, portanto, para fazer alterações no sistema precisamos remontar como leitura/gravação executando o comando abaixo:

mount -o rw,remount /

Resolvendo o caso nº 1 – Adicionar usuário ao grupo sudo ou admin

Supondo que um usuário tenha sido removido do grupo sudo, para adicionar o usuário de volta ao grupo sudo, emita o comando abaixo:

adduser username sudo

Nota: Lembre-se de usar o nome de usuário real do sistema, no meu caso é aaronkilik.

Ou então, sob a condição de um usuário ter sido removido do grupo admin, execute o seguinte comando:

adduser username admin

Resolvendo o caso nº 2 – Concedendo privilégios sudo aos usuários

Supondo que o arquivo /etc/sudoers tenha sido alterado para evitar que usuários do grupo sudo ou admin elevem seus privilégios para os de um superusuário e faça um backup dos arquivos sudoers da seguinte forma:

cp /etc/sudoers /etc/sudoers.orginal

Posteriormente, abra o arquivo sudoers.

visudo

e adicione o conteúdo abaixo:

#
This file MUST be edited with the 'visudo' command as root.
#
Please consider adding local content in /etc/sudoers.d/ instead of
directly modifying this file.
#
See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbi$

Host alias specification

User alias specification

Cmnd alias specification

User privilege specification
root    ALL=(ALL:ALL) ALL

Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

Resolvendo o caso nº 3 – Definindo a permissão correta no arquivo sudoers

Supondo que a permissão no arquivo /etc/sudoers não esteja definida como 0440, execute o seguinte comando para corrigir:

chmod  0440  /etc/sudoers

Por último, mas não menos importante, após executar todos os comandos necessários, digite o comando exit para voltar ao “menu de recuperação”:

exit 

Use a seta para a direita para selecionar e pressione Enter:

Pressione para continuar com a sequência normal de inicialização:

Resumo

Este método deve funcionar bem, especialmente quando se trata de uma conta de usuário administrativo envolvida, onde não há outra opção a não ser usar o modo de recuperação.

No entanto, se não funcionar para você, tente entrar em contato conosco expressando sua experiência por meio da seção de comentários abaixo. Você também pode oferecer sugestões ou outras maneiras possíveis de resolver o problema em questão ou melhorar totalmente este guia.