Domine o Comando Sudo no Linux: Guia Completo para Iniciantes e Experts

Foto do autor

By luis

O comando de terminal `sudo` é uma ferramenta essencial para usuários de Linux, tanto iniciantes quanto experientes. Ele permite que um usuário execute comandos com privilégios de nível root sem a necessidade de fazer login diretamente na conta root. Isso oferece grande conveniência e é especialmente útil para aqueles que preferem evitar a alternância constante entre usuários para realizar tarefas administrativas. Além disso, o `sudo` contribui para aumentar a segurança dos sistemas Linux.

Atualmente, o `sudo` é frequentemente dado como certo. Durante a instalação do Linux, ele costuma ser configurado automaticamente e pronto para uso imediato.

Instalação do Sudo

Curiosamente, nem todas as distribuições Linux vêm com o `sudo` pré-configurado. Em alguns casos raros, ele pode até mesmo não estar instalado. Nesses cenários, a instalação se torna necessária. Felizmente, o processo é bastante simples e o `sudo` está disponível em praticamente todas as distribuições Linux. Para encontrar os pacotes necessários para instalar o `sudo` em seu sistema, você pode consultar Pkgs.org. Alternativamente, você pode usar os comandos abaixo para instalá-lo diretamente em seu sistema operacional.

Observação: As instruções de instalação abaixo se aplicam a distribuições Linux que podem não ter o `sudo` pronto para uso ou totalmente configurado.

Debian

su -
apt-get install sudo

Arch Linux

su -
pacman -S sudo

Fedora

su -
dnf install sudo

OpenSUSE

su -
zypper install sudo

Gentoo/Funtoo

su -
emerge app-admin/sudo

Adicionando Usuários ao Sudo via Grupos

A maneira mais fácil de gerenciar o acesso ao `sudo` é criar um grupo com permissões para usá-lo e adicionar usuários a esse grupo. Geralmente, isso envolve adicionar usuários ao grupo “wheel” ou, alternativamente, ao grupo “sudo”.

O nome do grupo pode variar dependendo da sua distribuição Linux. Para verificar qual grupo está sendo usado, execute o comando `cat` no arquivo `/etc/sudoers`.

su -
cat /etc/sudoers | more

Procure por uma linha que indique “Permitir que membros do grupo sudo executem qualquer comando”. Abaixo dessa linha, você deverá encontrar uma das seguintes opções:

%sudo ALL=(ALL:ALL) ALL

ou

%wheel ALL=(ALL:ALL) ALL

Anote qual grupo (wheel ou sudo) aparece no início da linha e, em seguida, adicione seu usuário a esse grupo para conceder privilégios `sudo`.

su –

usermod -a -G sudo seu_nome_de_usuario

ou

usermod -a -G wheel seu_nome_de_usuario

Repita este processo para cada usuário ao qual você deseja conceder acesso ao `sudo`.

Adicionando Usuários Diretamente ao Arquivo Sudoer

Outra maneira de conceder acesso ao `sudo` é especificando usuários individualmente no arquivo `Sudoer`. Esse método é um pouco mais complexo do que o anterior, mas pode ser preferível se você não quiser trabalhar com o sistema de grupos do Linux. Para começar, abra um terminal e faça login como root usando o comando `su`.

su -

Agora que o shell tem acesso root, é hora de editar o arquivo `/etc/sudoers`. É fundamental usar o comando `visudo` para editar este arquivo. Editar `/etc/sudoers` diretamente pode causar problemas e é perigoso. Portanto, use o seguinte comando:

EDITOR=nano visudo

Ao usar `EDITOR=nano` antes do comando `visudo`, você poderá modificar `/etc/sudoers` com o editor de texto Nano, em vez do editor Vi. Agora, role para baixo até encontrar a seção “Especificação de privilégio do usuário”. Abaixo da linha que especifica o usuário “root”, adicione uma nova linha de privilégio para o seu usuário:

nome_de_usuario ALL=(ALL:ALL) ALL

Salve o arquivo no Nano com Ctrl + O e feche com Ctrl + X. A partir de agora, seu usuário deverá conseguir usar comandos através do `sudo`.

Sudo sem Senha

O `sudo` sem senha permite que usuários executem comandos com privilégios elevados sem a necessidade de digitar a senha. Para ativar essa funcionalidade, você precisa fazer a configuração no arquivo `Sudoer`. Algumas distribuições Linux já oferecem suporte a essa configuração, enquanto outras não têm nenhuma referência a “sudo sem senha”.

Para verificar se o arquivo `Sudoer` do seu sistema já oferece suporte a esse recurso, use o comando `cat`:

cat /etc/sudoers/ | more

Primeiro, abra o arquivo `Sudoer` e comente as seguintes linhas:

%sudo ALL=(ALL:ALL) ALL

ou

%wheel ALL=(ALL:ALL) ALL

Desativar essas linhas irá desabilitar a necessidade de senha ao usar `sudo`. Em seguida, procure por uma linha semelhante a “Mesma coisa sem senha” e remova o `#` do início da linha. Salve o editor com Ctrl + O e Ctrl + X. Isso deve habilitar automaticamente o `sudo` sem senha no seu sistema Linux.

Desabilitando Sudo para Usuários Específicos

A melhor forma de desabilitar o `sudo` para usuários específicos é seguir as instruções acima e adicioná-los ao `sudo` apenas individualmente. Se você prefere gerenciar o acesso ao `sudo` por meio de grupos, uma forma de impedir que um usuário acesse esse comando é removê-lo do grupo relevante. Para fazer isso, use o seguinte:

su -
gpasswd -d sudo

ou

gpasswd -d wheel

Após remover o usuário do grupo `sudo`, ele não poderá mais usar esse comando para realizar operações de nível de sistema.