doas est un utilitaire qui sert à exécuter des commandes avec des privilèges élevés (root), de manière similaire à sudo. Historiquement, doas provient d'OpenBSD où il est conçu pour être plus simple et plus minimaliste que sudo.
Les avantages de doas peuvent être résumés ainsi :
Comme sudo, doas permet de ne pas se connecter directement en root, limitant les risques d'erreur et améliorant la traçabilité.
Avant l'installation, il est recommandé de mettre à jour l'index des dépôts :
sudo apt update
(Si vous n'avez pas sudo, exécutez ces commandes en tant que root :)
su -
apt update
Sur Debian 13, l'implémentation se nomme opendoas. Pour l'installer, faites :
sudo apt install opendoas
ou, si vous êtes déjà root :
apt install opendoas
(Il se peut que le paquet s'appelle juste doas sur d'autres distributions, mais sur Debian, c'est opendoas.)
La configuration principale de doas repose dans le fichier :
/etc/doas.conf
Si le fichier n'existe pas, vous pouvez le créer. L'accès en écriture au fichier doit être limité au superutilisateur (root).
En effet, la règle générale est que /etc/doas.conf doit être lisible seulement par root, souvent avec des permissions de type -rw------- (600).
La syntaxe de doas est relativement simple :
permit [options] [as <user>] [cmd <command>] [args <args>]
Pour autoriser un utilisateur, par exemple alice, à exécuter toutes les commandes en tant que root, avec demande de mot de passe, on peut placer dans /etc/doas.conf :
permit alice
Ici, on n'indique pas de as root car c'est implicite (la cible par défaut est root).
permit persist alice
Dès que alice aura entré son mot de passe une première fois, la session retiendra l'authentification pour quelques minutes (similaire à sudo).
Pour autoriser un utilisateur à exécuter des commandes spécifiques sans mot de passe, on peut utiliser l'option nopass. Exemple :
permit nopass alice cmd apt args update
Ici, alice peut faire :
doas apt update
sans être invité à saisir de mot de passe.
Mais si elle tente doas apt upgrade, ça ne fonctionnera pas, car ce n'est pas autorisé.
Pour autoriser l'utilisation de toute la commande apt :
permit nopass alice cmd apt
Ainsi, Alice pourra exécuter toutes les commandes apt (search, install, purge etc...)
On peut également autoriser toutes les commandes sans mot de passe :
permit nopass alice
Attention : comme pour sudo, autoriser trop largement sans mot de passe peut poser des risques de sécurité.
Imaginons un fichier /etc/doas.conf :
# Alice a tous les droits, et doit taper son mot de passe, avec "persist"
permit persist alice
# Bob est autorisé uniquement à faire "shutdown -h now" sans mot de passe
permit nopass bob cmd shutdown args -h now
L'usage est semblable à sudo, sauf qu'on tape doas à la place de sudo.
Exemples :
doas apt update
doas apt install htop
doas reboot
Pour relire et vérifier rapidement la configuration, doas ne propose pas la même commande que visudo, mais on peut faire :
doas -C /etc/doas.conf
Cela détectera certaines erreurs de syntaxe, mais de manière moins poussée que visudo.
En pratique, éditez le fichier avec votre éditeur favori (nano, vim, etc.) et vérifiez bien les permissions.
chown root:root /etc/doas.conf et chmod 600 /etc/doas.conf
doas (OpenDoas) est une alternative légère à sudo, particulièrement appréciée pour sa configuration minimaliste. Sur Debian 13, l'installation est simple via le paquet opendoas. Ensuite, quelques lignes dans /etc/doas.conf suffisent pour autoriser tel ou tel utilisateur (ou groupe) à exécuter des commandes avec les droits de root.
Résumé des étapes :
Si vous n'avez besoin que d'une configuration basique (un utilisateur privilégié ou quelques règles), doas est un outil pratique, plus simple que sudo, tout en conservant la philosophie de ne pas être en root en permanence.