Como adicionar um usuário ao arquivo sudoers no Linux

Uma tela de login do Linux bloqueada.

Se um sudocomando no Linux receber uma mensagem de que um usuário “não está no arquivo sudoers”, você precisará entrar na lista “sudoers”. Veremos como adicionar um usuário aos sudoers no Ubuntu e outras distribuições Linux, bem como editar o arquivo sudoers.

Por que preciso ser adicionado ao arquivo sudoers?

Nas instalações do Linux, o usuário root é o usuário com mais privilégios. Eles podem executar qualquer tarefa administrativa, acessar qualquer arquivo, independentemente de sua propriedade, e podem criar , manipular e até mesmo remover outros usuários .

Este nível de poder é perigoso. Se rootcometer 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 comoroot .

Os usuários nomeados podem usar sudopara obter temporariamente poderes administrativos, executar a ação necessária e, em seguida, retornar ao seu 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 tudo o que exige deles.

O sudocomando é o equivalente no Linux a gritar “ Shazam ”. Quando a coisa assustadora acaba, você abandona seu alter ego superpoderoso e volta ao seu eu normal e monótono.

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

As distribuições modernas do Linux concedem sudoprivilégios à 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:

Recomendado:  Como se preparar para uma eventual queda de energia

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

Isso parece bastante claro. Nosso usuário marynão pode usar sudoporque não está “no arquivo sudoers”. Então vamos ver como podemos adicioná-la, tornando-a uma usuária sudo.

Como abrir o arquivo sudoers

Antes de podermos adicionar um sudousuário, precisamos trabalhar com o sudoersarquivo. Isso lista os grupos de usuários que podem usar o sudo. Se precisarmos fazer alterações no arquivo, devemos editá-lo.

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

Observe que visudonão é um editor, ele inicia um dos editores disponíveis. No Ubuntu 22.04, Fedora 37 e Manjaro 21 visudolançaram o nano . Esse pode não ser o caso do seu computador.

Se quisermos dar a alguém acesso total a sudoprivilégios, só precisamos fazer referência a algumas informações do sudoersarquivo. Se quisermos ser mais granulares e fornecer ao usuário alguns dos recursos do root, precisamos editar o arquivo e salvar as alterações.

De qualquer forma, precisamos usar visudo.

Adicione um 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, então vamos adicioná-los aos sudoers. Eles são Tom e Maria. Maria precisa ter acesso a tudo rootque pode fazer. Tom só precisa instalar aplicativos.

Vamos adicionar Mary ao grupo dos sudoers primeiro. Podemos fazer isso no Ubuntu e na maioria das outras distribuições Linux da mesma maneira, iniciando o visudo.

sudo visudo

Lançando o visudo no Ubuntu Linux

Role para baixo no editor até ver a seção “Especificação de privilégio do usuário”. Procure um comentário que diga algo semelhante a “Permitir que membros deste grupo executem qualquer comando”.

O arquivo sudoers aberto no editor nano

Disseram-nos que os membros do sudogrupo podem executar qualquer comando. Tudo o que precisamos saber no caso de Mary é o nome desse grupo. Nem sempre é sudo; pode ser wheelou algo mais. Agora que sabemos o nome do grupo, podemos fechar o editor e adicionar Mary a esse grupo .

Recomendado:  O Slack para desktop e a Web ficam em modo escuro - veja como habilitá-lo

Estamos usando o usermodcomando com as opções -a(anexar) e -G(nome do grupo) para adicionar usuários aos sudoers. A -Gopção nos permite nomear o grupo ao qual gostaríamos de adicionar o usuário, e a -aopção diz usermodpara adicionar o novo grupo à lista de grupos existentes em que este usuário já pertence.

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

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 ao 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 do alcance de todos, exceto root.

sudo nano /etc/fstab

Digite o comando

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

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

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

Feche o editor e não salve nenhuma alteração que você possa ter feito.

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. Podemos tornar Tom um usuário sudo sem conceder a ele todos os privilégios.

Precisamos editar o sudoersarquivo.

sudo visudo

Lançando o visudo no Ubuntu Linux

Role para baixo no editor até ver a seção “Especificação de privilégio do usuário”. Procure um comentário que diga algo semelhante a “Permitir que os membros deste grupo executem qualquer comando”. É o mesmo ponto do arquivo onde encontramos o nome do grupo ao qual precisávamos adicionar Mary.

Adicione essas linhas abaixo dessa seção.

Recomendado:  10 recursos que o iPhone deveria roubar do Android

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

Adicionando novas entradas ao arquivo sudoers

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

Isso é o que significam os itens da linha.

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

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

Vamos fazer login no 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

That command is rejected, and we’re told that “user tom isn’t allowed to execute ‘/usr/bin/nano /etc/fstab’ as root …”

That’s what we wanted. User Tom is only supposed to be able to use the apt package manager. Let’s make sure they can do that.

sudo apt install neofetch

Usuário Tom usando o comando apt com sudo

The command is successfully executed for Tom.

Whosoever Holds This Command

If all your users can use sudo, you’ll have chaos on your hands. But it is worth promoting other users to the sudoers list so they can share your administrative burden. Just make sure they’re worthy, and keep an eye on them.

Mesmo que você seja o único usuário no seu computador, vale a pena considerar criar outra conta de usuário e adicioná-la como sudousuário. Dessa forma, se você tiver sua conta principal bloqueada , você terá outra conta com a qual poderá fazer login para tentar remediar a situação.