22
0
Fork 0
wiki/HowtoDoas.md

65 lines
1.6 KiB
Markdown
Raw Normal View History

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>