2017-03-06 13:39:05 +01:00
---
title: Howto doas
categories: openbsd
...
2017-03-08 09:39:14 +01:00
* < http: // man . openbsd . org / cgi-bin / man . cgi / OpenBSD-current / man1 / doas . 1 >
2017-03-06 13:39:05 +01:00
* < http: // man . openbsd . org / cgi-bin / man . cgi / OpenBSD-current / man5 / doas . conf . 5 >
2017-03-08 19:44:08 +01:00
**doas** est un programme développé pour OpenBSD permettant d'accorder des droits à certains utilisateurs pour lancer des commandes en tant que _root_ ou un utilisateur différent. _doas_ a vocation à remplacer [sudo ](HowtoSudo ) car ce dernier, bien que plus complet, induit une complexité jugée inutile dans le système de base par les développeurs du projet OpenBSD.
2017-03-06 13:39:05 +01:00
## Configuration
2017-03-08 00:39:28 +01:00
On configure _doas_ en listant des autorisations dans le fichier `/etc/doas.conf`
2017-03-06 13:39:05 +01:00
2017-03-08 09:39:14 +01:00
Une autorisation a la forme suivante :
2017-03-06 13:39:05 +01:00
2017-03-07 23:05:40 +01:00
~~~
2017-03-08 00:39:28 +01:00
action option jdoe as foo cmd /path/commande
2017-03-07 23:05:40 +01:00
~~~
2017-03-06 13:39:05 +01:00
2017-03-07 23:05:40 +01:00
* `action` : permit / deny
* `option` : nopass / persist / keepenv / setenv { [variable…] }
2017-03-06 13:39:05 +01:00
2017-03-08 08:09:59 +01:00
### Exemples d'autorisations
* Tout permettre à "root" sans mot de passe :
2017-03-06 13:39:05 +01:00
~~~
permit nopass root
2017-03-08 08:09:59 +01:00
~~~
* Tous les membres du groupe `wheel` peuvent modifier ces variables d'environnement lors de l'exécution de `doas` :
~~~
2017-03-06 13:39:05 +01:00
permit setenv {ENV PS1 SSH_AUTH_SOCK SSH_TTY} :wheel
2017-03-08 08:09:59 +01:00
~~~
* L'utilisateur "_nrpe" peut exécuter "check_ipsecctl", sans mot de passe :
~~~
2017-03-06 13:39:05 +01:00
permit nopass _nrpe cmd /usr/local/libexec/nagios/check_ipsecctl.sh
2017-03-08 08:09:59 +01:00
~~~
* Tous les membres du groupe "wheel" peuvent exécuter "evomaintenance" en tant que root, sans mot de passe :
~~~
2017-03-07 23:05:40 +01:00
permit nopass :wheel as root cmd /usr/share/scripts/evomaintenance.sh
2017-03-06 13:39:05 +01:00
~~~
2017-03-07 23:05:40 +01:00
## Utilisation
~~~
2017-03-08 00:39:28 +01:00
$ doas su
2017-03-07 23:05:40 +01:00
$ doas < commande >
2017-03-08 00:39:28 +01:00
$ doas -u bar < commande >
2017-03-07 23:05:40 +01:00
~~~
## Liens utiles
* < http: // www . tedunangst . com / flak / post / doas-mastery >
2017-03-08 19:44:08 +01:00
* < http: // www . tedunangst . com / flak / post / doas >