O que é Doas e como instalá-lo

Doas 00 Featured Image
⏱️ 8 min read

Doas é um programa de escalonamento de privilégios semelhante ao sudo. Ele foi projetado para ser o mais leve e simples possível. É o programa de escalonamento de privilégios padrão do OpenBSD, mas também está disponível para outros sistemas operacionais do tipo UNIX através do programa OpenDoas.

O problema com sudo

Ao longo dos anos, o sudo se tornou o programa de escalonamento de privilégios de fato no mundo UNIX. No entanto, isso significa que o sudo precisa atender a todos os casos de uso de todas as pessoas que estão usando uma máquina semelhante ao UNIX. Essa abordagem no desenvolvimento de programas tornou o sudo um programa pesado, difícil de entender e difícil de usar.

Por exemplo, para modificar o comportamento do sudo, você precisa executar um comando chamado visudo. Este é um programa de carregamento especial que abre o arquivo “/etc/sudoers” em um “modo de segurança”.

O Visudo faz algumas coisas: ele verifica rotineiramente se há erros de sintaxe no arquivo “/etc/sudoers” e bloqueia o arquivo “/etc/sudoers” para que ninguém além do usuário atual possa editar o arquivo. Estes podem parecer úteis na superfície, mas o visudo é um sintoma da crescente complexidade do sudo.

Doas 01 Visudo

Isso significa que a sintaxe do arquivo sudoers se tornou complicada o suficiente para que seja necessário verificar possíveis erros de sintaxe. Isso também significa que o sudo precisa atender a ambientes de usuário único e multiusuário, exigindo, portanto, a necessidade de bloquear o arquivo sudoers para o usuário atual.

Sudo é um programa maravilhoso. Sua sintaxe de configuração complexa pode criar sistemas de permissão elaborados que podem ser potencialmente úteis para um administrador de sistema experiente.

Para a maioria dos usuários, no entanto, usamos apenas o sudo para executar um shell de root para instalar programas e mexer em nossos sistemas. A complexidade do Sudo, portanto, parece ser mais um obstáculo do que um recurso nesses casos.

Por que usar doas?

A intenção do Doas é resolver a complexidade do sudo. Ele foi desenvolvido para OpenBSD e foi rapidamente portado para praticamente qualquer sistema Linux. Ele pretende ser rápido e fácil de usar, mas também simples de manter e seguro.

A sintaxe do doas também é diferente do sudo. Configurá-lo é semelhante a escrever em inglês simples. No sudo, por exemplo, a sintaxe para permitir que qualquer usuário do grupo wheel execute como root sem nenhuma senha é:

%wheel ALL=(ALL) NOPASSWD: ALL

No doas, entretanto, a sintaxe é muito mais fácil de entender:

permit nopass :wheel as root
Doas 02 Doas Conf

Além disso, o doas não precisa de nenhum programa de carregamento especial como o visudo para modificar sua configuração. O usuário só precisa editar o arquivo de configuração com qualquer editor de texto e, desde que o usuário tenha privilégios suficientes, ele poderá fazer alterações na configuração.

Isso torna o doas mais fácil de entender e fazer sentido. Sua abordagem simplista e simples para criar usuários e grupos privilegiados torna o processo transparente e livre de erros para o usuário.

Como configurar doas com sudo

Se você estiver usando um sistema Linux, há uma boa chance de você já estar usando o sudo como seu programa de escalonamento de privilégios, e isso torna a instalação do doas relativamente simples.

No Debian e no Ubuntu, você pode instalar o doas usando o apt:

sudo apt install doas

No Arch Linux, você pode usar o pacman:

sudo pacman -Syu opendoas

Com o Fedora, você pode usar dnf:

sudo dnf install opendoas

Para Void Linux, você pode usar xbps:

sudo xbps-install opendoas

No meu caso, estou instalando doas no Void Linux, então estou usando XBPS.

Instalação Doas 03 Xbps

O arquivo de configuração do doas

Com o doas instalado, agora você pode editar o arquivo “/etc/doas.conf” alternando para o usuário root usando su.

su --command="nano /etc/doas.conf"

O Su pedirá sua senha de root e, depois disso, abrirá ou criará o arquivo de configuração usando o nano.

Doas 06 Vazio Doas Conf

Uma vez feito, você pode notar que “doas.conf” está vazio. Isso é completamente diferente em comparação com o visudo. Mas, como discutimos anteriormente, configurar o doas é relativamente trivial.

A sintaxe de configuração

A sintaxe para doas.conf é a seguinte:

permit|deny [options] identity [as target] [cmd command [args ...]]
  • Permitir e Negar definirá se o doas permitirá a regra.
  • Opções são configurações adicionais para doas. As opções mais úteis para o usuário comum são persistir e nopass.
  • Identidade é o usuário ou grupo que está executando doas.
  • Como alvo é o usuário que a “Identidade” pode ou não executar.
  • cmd é o comando que a “Identidade” pode ou não executar “como destino”. O padrão é todos os programas, mas você pode especificar um programa específico neste campo.
  • argumentos são os argumentos específicos para o comando que você indicou.

Por exemplo, escrever o seguinte permitirá que qualquer usuário no grupo wheel execute comandos como root. O shell raiz também persistirá até que a janela seja fechada.

permit persist :wheel as root

Você também pode criar uma regra que segmente apenas um usuário específico para um comando específico. Por exemplo, você pode usar a seguinte regra para permitir que o usuário “bob” execute o programa “apt” como root sem pedir nenhuma senha.

permit nopass bob as root cmd apt

No meu caso, quero que o grupo “wheel” rode como root sem nenhuma senha. Também não quero que o usuário aga, que faz parte do grupo wheel, execute nenhum comando como root. Então estarei escrevendo o seguinte no meu “/etc/doas.conf”:

permit nopass :wheel as root
deny aga as root
Doas 04 Cheio Doas Conf

Pós-configuração

Depois disso, você deve executar alguns comandos para garantir que o doas esteja funcionando conforme o esperado. Primeiro, você precisará definir corretamente o proprietário do doas.conf como root:

sudo chown -c root:root /etc/doas.conf

Você também precisará definir as permissões de arquivo do arquivo de configuração para 0644 para garantir que o arquivo seja acessível apenas ao usuário root.

sudo chmod -c 0644 /etc/doas.conf

Por fim, você precisará verificar o próprio doas quanto a erros de sintaxe na configuração. Para fazer isso, execute o seguinte comando:

sudo doas -C /etc/doas.conf && echo "OK" || echo "ERROR"
Configurações finais do Doas 05

Parabéns! Você instalou e configurou com sucesso o doas para o seu sistema. Agora você pode começar a usar o doas como substituto do sudo ou ajustar seu arquivo doas.conf ao seu gosto. Para obter mais informações sobre a administração do sistema no Linux, você pode ler este artigo.

perguntas frequentes

1. Minha configuração parece não funcionar. Eu adicionei uma regra para um usuário específico e uma regra geral, mas a regra para o usuário não parece funcionar.

O arquivo de configuração doas funciona desde a regra mais geral até a mais específica. Para que sua configuração funcione, você precisa primeiro especificar a regra que se aplica a todos os usuários. Em seguida, você pode especificar a regra direcionada a um único usuário abaixo dela.

2. É possível manter sudo e doas no mesmo sistema?

Sim! Doas e sudo são dois programas diferentes. Eles não entram em conflito entre si, e não há problema em deixar sudo no sistema e usar doas.

3. É possível obter um shell de root usando doas?

Sim, desde que você tenha configurado corretamente seu arquivo de configuração. Você pode iniciar um shell raiz executando doas -s.

Join our Newsletter and receive offers and updates! ✅

0 0 votes
Article Rating
Avatar of Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Você pode gostar...

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x