Configurer doas sur Debian 13

1. Qu'est-ce que doas et à quoi ça sert ?

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é.


2. Installation de doas sur Debian 13

2.1 Mettre à jour la liste des paquets

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

2.2 Installer le paquet opendoas

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.)


3. Configuration de base

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).

3.1 Syntaxe générale

La syntaxe de doas est relativement simple :

permit [options] [as <user>] [cmd <command>] [args <args>]

3.2 Exemple minimal : autoriser un utilisateur à tout faire

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).

3.3 Demande de mot de passe et persistance

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).

3.4 Autoriser sans mot de passe

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é.


4. Cas pratiques et usages courants

4.1 Exemple de configuration "classique"

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

4.2 Utilisation

L'usage est semblable à sudo, sauf qu'on tape doas à la place de sudo.
Exemples :

doas apt update
doas apt install htop
doas reboot

4.3 Vérifier la configuration

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.


5. Bonnes pratiques et différences avec sudo

chown root:root /etc/doas.conf et chmod 600 /etc/doas.conf

Conclusion

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.


⬆️ Retour en haut de la page