Corrigir acesso root no arquivo Sudoers

1. Visão geral

No Linux, alguns comandos só podem ser executados pelo usuário root. Por padrão, esse superusuário tem acesso a todos os comandos e recursos do nosso sistema.

No entanto, executar tarefas sensíveis sem restrições é perigoso. Por exemplo, um erro intencional ou acidental pode quebrar todo o sistema. Como resultado, o Linux incentiva o uso de sudo. Este é um comando que fornece a um usuário normal os privilégios de um superusuário que são necessários para executar tarefas administrativas. Ao trabalhar com sudo, podemos encontrar o erro 'Username não está no arquivo sudoers. Este incidente será relatado.”

Neste tutorial, discutiremos as diferentes abordagens usadas para corrigir esse erro.

2. Razões para o erro

Primeiro, vamos notar que às vezes não precisamos corrigir esse erro, como se o administrador do sistema restringisse intencionalmente nosso acesso como medida de segurança. Esta restrição causa o problema que enfrentamos agora. Nesse caso, teremos que trabalhar com as permissões que o administrador definiu para nós.

Em contraste, se tivermos controle genuíno sobre o nosso sistema, podemos corrigir esse problema.

 

Então vamos começar por reproduzir o erro:

$ sudo ls
[sudo] password for francis: 
francis is not in the sudoers file.  This incident will be reported.

Acima, “francis não está no arquivo sudoers” simplesmente significa que o usuário francis não está presente no arquivo sudoers. Este é um arquivo que define privilégios de usuário e grupo de usuários para tarefas relacionadas ao sudo. Além disso, “Este incidente será relatado” declara que o Linux cria um relatório dessa operação com falha. Este relatório registra o que aconteceu durante este incidente sudo.

3. Adicionando o nome de usuário ao arquivo Sudoers

Nosso principal objetivo aqui é adicionar o usuário diretamente ao arquivo sudoers. Portanto, precisamos mudar para o usuário root, já que o franque não pode executar nenhuma tarefa administrativa:

$ su root
Password: 

Uma vez que fizemos a mudança, vamos editar o arquivo de sudoers usando nano. Este é um editor de texto que nos permite editar arquivos a partir da linha de comando:

# nano /etc/sudoers

Agora o arquivo sudoers está pronto para edição.

 

Vamos adicionar uma linha sob a especificação de privilégio de usuário. Seu objetivo é conceder ao usuário do sistema os privilégios de superusuário mencionados:

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

Agora, o francis pode executar tarefas que exigem acesso root.

Pouco depois de fazer a mudança, precisamos salvar essas alterações e sair do editor de texto. Para fazer isso, vamos pressionar as teclas do teclado CTRL + X para sair, Y para salvar e Enter para enviar. Finalmente, podemos sair da sessão de raiz.

4. Adicionar o nome de usuário ao grupo sudo

Como na solução acima, é importante que primeiro mudemos para o rootusuário root:

$ su root
Password: 

O comando su nos permite executar tarefas com as permissões de outro usuário, que neste caso é root.

 

Em seguida, mostraremos o conteúdo do arquivo sudoers. Vamos nos concentrar nas linhas que declaram os privilégios dos usuários, bem como os dos grupos de usuários:

# cat /etc/sudoers
...

# 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

...

Como mostrado acima, o usuário root e os membros dos grupos administrador e sudo têm privilégios de superusuário. Então, novamente, o grupo sudo está presente, já que estamos em uma distribuição baseada no Debian. Em uma distribuição Linux baseada no Red Hat, encontraremos o grupo de usuários de roda. É o equivalente ao grupo de usuários sudo para distribuições baseadas em Red Hat.

Agora, como estamos operando no Debian, vamos adicionar nosso usuário ao grupo sudo:

# usermod -aG sudo francis

Aqui, o comando usermod nos permite modificar os atributos do nosso usuário. Em particular, usamos a opção -G para declarar que gostaríamos de atualizar as informações do grupo para o nosso grupo de francis do usuário. Além disso, a opção -a garante que outros grupos associados a esse usuário não sejam excluídos no processo. Como resultado, o franquete agora pode executar tarefas administrativas com o sudo. Nas distros Red Hat, a substituição de sudo por roda fornece resultados semelhantes.

Quando passarmos, sairemos da rootsessão de usuário root:

# exit
exit

Agora estamos de volta à nossa sessão de usuário anterior.

5. Conclusão

Neste artigo, explicamos brevemente o significado do erro do Linux “O nome do usuário não está no arquivo sudoers. Este incidente será relatado.” Então demonstramos duas soluções aplicáveis para resolver este problema.

  • 25001 Users Found This Useful
這篇文章有幫助嗎?

Related Articles

Removendo o aviso de Phishing do seu site

Quando a detecção de phishing e malware está ativada, as seguintes mensagens podem ser exibidas...

Manual Básico do cPanel

Adicionar/Remover contas POP3Você mesmo poderá adicionar, editar ou remover contas POP3/IMAP, de...

Agendando tarefas com o cron

O agendamento de tarefas é um recurso essencial em servidores. No Linux, o daemon responsável...

Aprenda a copiar o nome de todos os arquivos de uma pasta de uma só vez

Quem já precisou, independente do motivo, copiar vários nomes de arquivos de uma só vez, sabe o...

Como instalar o cPanel em um servidor Linux

Antes demais, para instalar o cPanel em um servidor vai precisar de: Licença do cPanel, Servidor...