Fons
Instal·lació
Configuració
Ús
Millors pràctiques
Consells i trucs
Fons
L'alternativa d'OpenBSD a sudoés doas, encara que no funciona de la mateixa manera que sudo i requereix una certa configuració. És l'acrònim de "dedicated openbsd application subexecutor". OpenBSD 5.8, llançat el 2015, va ser el primer a incloure doas. Va ser creat per Ted Unangst després que no estigués satisfet amb la complexitat de sudo i tingués problemes amb la configuració predeterminada de sudo.
L' doasordre és de disseny senzill i no conté funcions avançades necessàries per a les infraestructures d'administració de sistemes elaborades. Per a la majoria de la gent, és més que suficient. Si necessiteu sudo, instal·leu-lo pkg_add sudocom a root.
Instal·lació
S'ha doaspreinstal·lat la versió 5.8 i posterior d'OpenBSD .
Configuració
Per donar als usuaris del grup de rodes accés a doas, afegiu el següent a /etc/doas.conf. Necessitareu accés root per editar aquest fitxer.
permit :wheel
Això donarà a tots els usuaris del grup de rodes permís per executar ordres com qualsevol usuari.
Si voleu que els usuaris puguin introduir la seva contrasenya una vegada i no l'hagin d'introduir durant un temps, utilitzeu l' persistopció. Aquí teniu un exemple que només dóna permisos al grup de rodes:
permit persist :wheel
En lloc d'això, podeu utilitzar l' nopassopció si voleu que mai no hagin d'introduir la seva contrasenya:
permit nopass :wheel
Si voleu que l'usuari "mynewuser" tingui drets d'administrador, podeu afegir-los al grup de rodes executant-los usermod -G wheel mynewusercom a root o afegir una línia al vostre /etc/doas.confperquè sembli una mica com el següent:
permit nopass :wheel
permit nopass mynewuser
Aquest exemple suposa que no necessiteu que els vostres usuaris introdueixin una contrasenya quan utilitzeu doas. Si voleu configurar-lo perquè mynewuser només tingui permís per executar ordres com a usuari www, la configuració seria la següent:
permit nopass :wheel
permit nopass mynewuser as www
Si voleu que mynewuser només pugui utilitzar l'ordre "vim" amb doas, utilitzeu la configuració següent:
permit nopass :wheel
permit nopass mynewuser as www cmd vim
Hi ha altres opcions de configuració, però les que es tracten aquí són les més habituals. Si voleu llegir més, podeu utilitzar l'ordre man doas.confper llegir la pàgina de manual doas.conf(5).
Prova de fitxers de configuració
Per provar un fitxer de configuració, utilitzeu l' doas -C /etc/doas.confordre. Si proporcioneu una ordre després, per exemple doas -C /etc/doas.conf vim, us dirà si teniu permís per executar una ordre o no sense intentar executar-la.
Ús
Un usuari pot executar l'ordre echo "test"com a root mitjançant l'ordre:
doas echo "test"
Un usuari que tingui permisos per utilitzar doas per elevar-se a l'usuari "www" pot executar l'ordre vim /var/www/http/index.htmlcom a usuari "www" mitjançant l'ordre:
doas -u www vim index.html
Això és útil per a algú que gestiona el servidor web però no té permisos complets de superusuari.
Millors pràctiques
És molt recomanable que utilitzeu el permís en comptes de denegar sempre que sigui possible. Si denegueu a un usuari d'utilitzar una ordre específica, és possible que pugui sortir-se amb la seva utilització d'una ruta o nom alternatiu d'aquesta ordre si existeix. També poden copiar l'executable de l'ordre al seu directori d'inici i després executar-lo, destruint així el vostre sistema de permisos.
En termes generals, és millor utilitzar doas que utilitzar su perquè ningú ha de compartir la contrasenya d'arrel. No hi ha cap possibilitat que algú el canviï, l'oblidi i bloquegi tothom fora del sistema si tothom utilitza la seva pròpia contrasenya per a l'accés root. Els registres es guarden a /var/log/secure.
Consells i trucs
Podeu mantenir totes les vostres variables d'entorn amb keepenv, que és útil si teniu l'editor configurat en alguna cosa i no voleu que canviï quan us convertiu en un altre usuari. Aquí teniu un exemple amb mynewuser:
permit nopass keepenv mynewuser
De vegades, hi ha situacions en què sobreescriure totes les variables d'entorn pot trencar coses, però amb setenv, podeu triar quines voleu transferir. Aquí teniu un exemple que mantindrà el vostre editor configurat amb el que vulgueu per utilitzar-lo amb git i algunes altres coses.
permit nopass setenv { VISUAL EDITOR } mynewuser
També podeu utilitzar setenv per eliminar variables d'entorn (posant un guió abans de cadascuna que vulgueu eliminar) o establir-les a coses específiques amb un signe igual. Per exemple, si voleu eliminar la variable d'entorn VISUAL i establir EDITOR a vim, utilitzareu aquesta línia de configuració:
permit nopass setenv { -VISUAL EDITOR=vim } mynewuser
Si doashas recordat la teva contrasenya, pots fer-la doas -Lper oblidar-la.