
Doas est un programme d’escalade de privilèges similaire à sudo. Il est conçu pour être aussi léger et simple que possible. Il s’agit du programme d’escalade de privilèges par défaut pour OpenBSD mais également disponible pour d’autres systèmes d’exploitation de type UNIX via le programme OpenDoas.
Le problème avec sudo
Au fil des ans, sudo est devenu le programme d’escalade de privilèges de facto dans le monde UNIX. Cependant, cela signifie que sudo doit répondre à chaque cas d’utilisation pour chaque personne qui utilise une machine de type UNIX. Cette approche dans le développement de programmes a fait de sudo un programme peu maniable, difficile à comprendre et difficile à utiliser.
Par exemple, pour modifier le comportement de sudo, vous devez exécuter une commande appelée visudo. Il s’agit d’un programme de chargement spécial qui ouvre le fichier « /etc/sudoers » en « mode sans échec ».
Visudo fait plusieurs choses : il vérifie régulièrement les erreurs de syntaxe dans le fichier « /etc/sudoers » et verrouille le fichier « /etc/sudoers » afin que personne d’autre que l’utilisateur actuel ne puisse modifier le fichier. Ceux-ci peuvent sembler utiles à première vue, mais visudo est un symptôme de la complexité croissante de sudo.
Cela signifie que la syntaxe du fichier sudoers est devenue suffisamment compliquée pour qu’il soit devenu nécessaire de vérifier les éventuelles erreurs de syntaxe. Cela signifie également que sudo doit répondre à la fois aux environnements mono-utilisateur et multi-utilisateurs, ce qui nécessite donc de verrouiller le fichier sudoers pour l’utilisateur actuel.
Sudo est un programme merveilleux. Sa syntaxe de configuration complexe peut créer des systèmes d’autorisation élaborés qui peuvent être potentiellement utiles pour un administrateur système expérimenté.
Pour la plupart des utilisateurs, cependant, nous n’utilisons sudo que pour exécuter un shell root pour installer des programmes et bricoler avec nos systèmes. La complexité de Sudo semble donc être plus un obstacle qu’une caractéristique dans ces cas.
Pourquoi utiliser doas ?
L’intention de Doas est de résoudre la complexité de sudo. Il a été développé pour OpenBSD et a été rapidement porté sur à peu près n’importe quel système Linux. Il se veut simple et rapide à utiliser mais aussi simple à entretenir et sécurisé.
La syntaxe de doas est également différente de sudo. Le configurer est similaire à l’écriture en anglais simple. Dans sudo, par exemple, la syntaxe permettant à tout utilisateur du groupe wheel de s’exécuter en tant que root sans mot de passe est :
%wheel ALL=(ALL) NOPASSWD: ALL
Dans les doas, entre-temps, la syntaxe est beaucoup plus facile à comprendre :
permit nopass :wheel as root
De plus, doas n’a besoin d’aucun programme de chargement spécial comme visudo pour modifier sa configuration. L’utilisateur n’a qu’à modifier le fichier de configuration avec n’importe quel éditeur de texte, et tant que l’utilisateur dispose de privilèges suffisants, il pourra apporter des modifications à la configuration.
Cela rend les choses plus faciles à comprendre et à donner un sens. Son approche simpliste et claire de la création d’utilisateurs et de groupes privilégiés rend le processus transparent et sans erreur pour l’utilisateur.
Comment configurer des doas avec sudo
Si vous utilisez un système Linux, il y a de fortes chances que vous utilisiez déjà sudo comme programme d’escalade de privilèges, ce qui rend l’installation de doas relativement simple.
Sous Debian et Ubuntu, vous pouvez installer doas en utilisant apt :
sudo apt install doas
Sous Arch Linux, vous pouvez utiliser pacman :
sudo pacman -Syu opendoas
Avec Fedora, vous pouvez utiliser dnf :
sudo dnf install opendoas
Pour Void Linux, vous pouvez utiliser xbps :
sudo xbps-install opendoas