Como adicionar um usuário ao arquivo sudoers no Linux

Publicados: 2022-11-02
Laptop Linux mostrando um prompt bash
fatmawati achmad zaenuri/Shutterstock.com
Se você está sendo informado de que um usuário "não está no arquivo sudoers", você pode conceder ao usuário privilégios sudo completos com o comando usermod. Para controlar o que um usuário pode fazer com o sudo, edite o arquivo sudoers com visudo.

As pessoas que podem usar o comando sudo do Linux são membros de um pequeno e seleto clube, às vezes chamado de lista de “sudoers”. Cada membro tem os mesmos poderes que o root . Então, como você se juntar a esse clube? Veremos como adicionar uma pessoa aos sudoers, bem como editar o arquivo sudoers para limitar as permissões.

Índice

sudo: Seu alter-ego superpoderoso
O arquivo sudoers e visudo
Adicionar um novo usuário sudo no Ubuntu e outras distribuições Linux
Limite os privilégios do sudo editando o arquivo sudoers
Quem detém este comando

sudo: Seu alter-ego superpoderoso

Nas instalações do Linux, o usuário root é o usuário mais privilegiado. Eles podem executar qualquer tarefa administrativa, acessar qualquer arquivo independentemente de realmente o possuir e podem criar, manipular e até remover outros usuários.

Este nível de poder é perigoso. Se o root cometer um erro, os resultados podem ser catastróficos. Eles têm a capacidade de montar e desmontar sistemas de arquivos e sobrescrevê-los completamente. Uma maneira muito mais segura de trabalhar é nunca fazer login como root .

8 maneiras de ajustar e configurar o Sudo no Ubuntu
RELACIONADO 8 maneiras de ajustar e configurar o Sudo no Ubuntu

Os usuários indicados podem usar o sudo para obter poderes administrativos temporariamente, executar a ação necessária e retornar ao estado normal e sem privilégios. Isso é mais seguro porque você invoca conscientemente seus poderes superiores quando precisa deles e enquanto está focado em fazer o que quer que os exija.

O comando sudo é o equivalente Linux de gritar “Shazam”. Quando as coisas assustadoras terminam, você abandona seu alter ego superpoderoso e volta ao seu eu normal e monótono.

O login como root é desativado por padrão na maioria das distribuições modernas, mas pode ser restabelecido. Usar a conta root para o trabalho diário é desaconselhável. Erros que normalmente afetariam um único usuário ou que seriam bloqueados por completo devido a privilégios insuficientes podem ser executados sem impedimentos se o root os emitir.

As distribuições Linux modernas concedem privilégios sudo à conta de usuário criada durante as etapas de instalação ou configuração pós-instalação. Se alguém tentar usar sudo , verá uma mensagem de aviso como esta:

 mary não está no arquivo sudoers. Este incidente será relatado.

Isso parece bastante claro. Nossa usuária mary não pode usar sudo porque ela não está “no arquivo sudoers”. Então vamos ver como podemos adicioná-la.

RELACIONADO: Como controlar o acesso sudo no Linux

O arquivo sudoers e visudo

Antes que alguém possa usar o comando sudo , precisamos trabalhar com o arquivo sudoers . Isso lista os grupos de usuários dos usuários que podem usar sudo . Se precisarmos fazer alterações no arquivo, devemos editá-lo.

O arquivo sudoers deve ser aberto usando o comando visudo . Isso bloqueia o arquivo sudoers e evita que duas pessoas tentem fazer alterações ao mesmo tempo. Ele também realiza algumas verificações de sanidade antes de salvar suas edições, garantindo que elas sejam analisadas corretamente e sejam sintaticamente corretas.

Observe que o visudo não é um editor, ele inicia um de seus editores disponíveis. No Ubuntu 22.04, Fedora 37 e Manjaro 21, visudo lançou o nano. Isso pode não ser o caso no seu computador.

Se quisermos dar a alguém acesso a privilégios sudo completos, precisamos apenas referenciar algumas informações do arquivo sudoers . Se quisermos ser mais granulares e dar ao nosso usuário alguns dos recursos do root , precisamos editar o arquivo e salvar as alterações.

De qualquer forma, precisamos usar visudo .

RELACIONADO: Como sair do editor Vi ou Vim

Adicionar um novo usuário sudo no Ubuntu e outras distribuições Linux

Temos dois usuários que precisam de acesso a privilégios de root para desempenhar suas funções de trabalho. Eles são Tom e Maria. Mary precisa ter acesso a tudo que o root pode fazer. Tom só precisa instalar aplicativos.

Vamos adicionar Mary ao grupo dos sudoers primeiro. Precisamos iniciar o visudo .

 sudo visudo 

Iniciando o visudo no Ubuntu Linux

Role para baixo no editor até ver a seção “User Privilege Specification”. Procure um comentário que diga algo semelhante a “Permitir que membros deste grupo executem qualquer comando”.

O arquivo sudoers é aberto no editor nano

Dizem-nos que os membros do grupo sudo podem executar qualquer comando. Tudo o que precisamos saber no caso de Mary é o nome desse grupo. Nem sempre é sudo ; pode ser wheel ou outra coisa. Agora que sabemos o nome do grupo, podemos fechar o editor e adicionar Maria a esse grupo.

Como alterar os dados do usuário com chfn e usermod no Linux
RELACIONADO Como alterar os dados do usuário com chfn e usermod no Linux

Estamos usando o comando usermod com as opções -a (anexar) e -G (nome do grupo). A opção -G nos permite nomear o grupo ao qual gostaríamos de adicionar o usuário, e a opção -a diz ao usermod para adicionar o novo grupo à lista de grupos existentes em que esse usuário já está.

Se você não usar a opção -a , o único grupo em que seu usuário estará é o grupo recém-adicionado. Verifique novamente e certifique-se de incluir a opção -a .

 sudo usermod -aG sudo mary 

Usando usermod para adicionar o usuário mary ao grupo sudo

Na próxima vez que Mary fizer login, ela terá acesso a sudo . Nós a conectamos e estamos tentando editar o arquivo da tabela do sistema de arquivos, “/etc/fstab.” Este é um arquivo que está fora dos limites para todos, exceto para o root .

 sudo nano /etc/fstab 

Usando usermod para adicionar o usuário mary ao grupo sudo

O editor nano abre com o arquivo “/etc/fstab” carregado.

usuário mary editando o arquivo /etc/fstab usando sudo

Sem privilégios sudo , você só poderá abri-lo como um arquivo somente leitura. Mary não tem mais essas restrições. Ela pode salvar quaisquer alterações que fizer.

Feche o editor e não salve as alterações feitas.

Limite os privilégios do sudo editando o arquivo sudoers

Nosso outro usuário, Tom, receberá permissão para instalar software, mas não receberá todos os privilégios concedidos a Mary.

Precisamos editar o arquivo sudoers .

 sudo visudo 

Iniciando o visudo no Ubuntu Linux

Role para baixo no editor até ver a seção “User Privilege Specification”. Procure um comentário que diga algo semelhante a “Permitir que os membros deste grupo executem qualquer comando”. É o mesmo ponto no arquivo em que encontramos o nome do grupo ao qual precisávamos adicionar Maria.

Adicione estas linhas abaixo dessa seção.

 # usuário tom pode instalar software
tom ALL=(root) /usr/bin/apt 

Adicionando novas entradas ao arquivo sudoers

A primeira linha é um comentário simples. Observe que há uma guia entre o nome de usuário "tom" e a palavra "Todos".

Isto é o que os itens na linha significam.

  • tom : O nome do grupo padrão do usuário. Normalmente, é o mesmo que o nome de sua conta de usuário.
  • ALL= : Esta regra se aplica a todos os hosts nesta rede.
  • (root) : Os membros do grupo “tom”—ou seja, o usuário Tom—podem assumir privilégios de root , para os comandos listados.
  • /usr/bin/apt : Este é o único comando que o usuário Tom pode executar como root .

Especificamos o gerenciador de pacotes apt aqui porque este computador usa o Ubuntu Linux. Você precisa substituir isso pelo comando apropriado se estiver usando uma distribuição diferente.

Vamos fazer o login do Tom e ver se obtemos o comportamento esperado. Tentaremos editar o arquivo “/etc/fstab”.

 sudo nano /etc/fstab 

Tentando editar o arquivo /etc/fstab sem privilégios sudo

Esse comando é rejeitado e nos dizem que “o usuário tom não tem permissão para executar '/usr/bin/nano /etc/fstab' como root …”

Isso é o que queríamos. O usuário Tom só deve ser capaz de usar o gerenciador de pacotes apt . Vamos ter certeza de que eles podem fazer isso.

 sudo apt instalar neofetch 

Usuário Tom usando o comando apt com sudo

O comando é executado com sucesso para Tom.

Quem detém este comando

Se todos os seus usuários puderem usar sudo , você terá o caos em suas mãos. Mas vale a pena promover outros usuários para que eles possam compartilhar sua carga administrativa. Apenas certifique-se de que eles são dignos e fique de olho neles.

Mesmo se você for o único usuário em seu computador, vale a pena considerar criar outra conta de usuário e dar a ela acesso total ao sudo . Dessa forma, se você se encontrar bloqueado em sua conta principal, terá outra conta com a qual poderá fazer login para tentar remediar a situação.

RELACIONADO: Como revisar o uso do comando sudo no Linux