0
(0)

Doas es un programa de escalada de privilegios similar a sudo. Está diseñado para ser lo más ligero y simple posible. Es el programa de escalada de privilegios predeterminado para OpenBSD, pero también está disponible para otros sistemas operativos similares a UNIX a través del programa OpenDoas.

El problema con sudo

A lo largo de los años, sudo se ha convertido en el programa de escalada de privilegios de facto en el mundo UNIX. Sin embargo, esto significa que sudo tiene que atender cada caso de uso para cada persona que usa una máquina tipo UNIX. Este enfoque en el desarrollo de programas hizo que sudo fuera un programa difícil de manejar, difícil de entender y de usar.

Por ejemplo, para modificar el comportamiento de sudo, debe ejecutar un comando llamado visudo. Este es un programa cargador especial que abre el archivo «/etc/sudoers» en un «modo seguro».

Visudo hace un par de cosas: comprueba rutinariamente los errores de sintaxis en el archivo «/etc/sudoers» y bloquea el archivo «/etc/sudoers» para que nadie más que el usuario actual pueda editar el archivo. Estos pueden parecer útiles en la superficie, pero visudo es un síntoma de la creciente complejidad de sudo.

Doas 01 Visudo

Esto significa que la sintaxis del archivo sudoers se ha vuelto lo suficientemente complicada como para que sea necesario verificar posibles errores de sintaxis. Esto también significa que sudo tiene que adaptarse a entornos de usuario único y multiusuario, por lo que es necesario bloquear el archivo sudoers para el usuario actual.

Sudo es un programa maravilloso. Su sintaxis de configuración compleja puede crear sistemas de permisos elaborados que pueden ser potencialmente útiles para un administrador de sistemas experimentado.

Sin embargo, para la mayoría de los usuarios, solo usamos sudo para ejecutar un shell raíz para instalar programas y modificar nuestros sistemas. La complejidad de Sudo, por lo tanto, parece ser más un obstáculo que una característica en esos casos.

¿Por qué usar doas?

La intención de Doas es resolver la complejidad de sudo. Fue desarrollado para OpenBSD y rápidamente fue portado a casi cualquier sistema Linux. Su objetivo es ser rápido y fácil de usar, pero también fácil de mantener y seguro.

La sintaxis de doas también es diferente a la de sudo. Configurarlo es similar a escribir en inglés simple. En Sudo, por ejemplo, la sintaxis para permitir que cualquier usuario de la rueda de grupo se ejecute como root sin ninguna contraseña es:

%wheel ALL=(ALL) NOPASSWD: ALL

Mientras tanto, en doas, la sintaxis es mucho más fácil de entender:

permit nopass :wheel as root

Doas 02 Doas Conferencia

Además, doas no necesita ningún programa cargador especial como visudo para modificar su configuración. El usuario solo necesita editar el archivo de configuración con cualquier editor de texto y, siempre que el usuario tenga suficientes privilegios, podrá realizar cambios en la configuración.

Esto hace que doas sea más fácil de entender y darle sentido. Su enfoque simple y simple para crear usuarios y grupos privilegiados hace que el proceso sea transparente y libre de errores para el usuario.

Cómo configurar doas con sudo

Si está utilizando un sistema Linux, es muy probable que ya esté utilizando sudo como su programa de escalada de privilegios, y eso hace que la instalación de doas sea relativamente sencilla.

En Debian y Ubuntu, puede instalar doas usando apt:

sudo apt install doas

En Arch Linux, puedes usar pacman:

sudo pacman -Syu opendoas

Con Fedora, puede usar dnf:

sudo dnf install opendoas

Para Void Linux, puede usar xbps:

sudo xbps-install opendoas

En mi caso, estoy instalando doas en Void Linux, por lo que estoy usando XBPS.

Instalación de Doas 03 Xbps

El archivo de configuración doas

Con doas instalado, ahora puede editar el archivo «/etc/doas.conf» cambiando al usuario raíz usando su.

su --command="nano /etc/doas.conf"

Su le pedirá su contraseña de root y, después de eso, abrirá o creará el archivo de configuración usando nano.

Doas 06 Conferencia de Doas vacía

Una vez hecho esto, puede notar que «doas.conf» está vacío. Esto es completamente diferente en comparación con visudo. Pero como discutimos anteriormente, configurar doas es relativamente trivial.

La sintaxis de configuración

La sintaxis de doas.conf es la siguiente:

permit|deny [options] identity [as target] [cmd command [args ...]]
  • Permiso y Negar establecerá si doas permitirá la regla.
  • Opciones son configuraciones adicionales para doas. Las opciones más útiles para el usuario habitual son persistir y no pase.
  • Identidad es el usuario o grupo que está ejecutando doas.
  • como objetivo es el usuario con el que la «Identidad» puede o no ejecutarse.
  • cmd es el comando que la «Identidad» puede o no ejecutar «como objetivo». El valor predeterminado es todos los programas, pero puede especificar un programa en particular en este campo.
  • argumentos son los argumentos que son específicos para el comando que ha indicado.

Por ejemplo, escribir lo siguiente permitirá que cualquier usuario en el grupo de rueda ejecute comandos como root. El shell raíz también persistirá hasta que se cierre la ventana.

permit persist :wheel as root

También puede crear una regla que solo se dirija a un usuario específico para un comando específico. Por ejemplo, puede usar la siguiente regla para permitir que el usuario «bob» ejecute el programa «apt» como root sin pedir ninguna contraseña.

permit nopass bob as root cmd apt

En mi caso, quiero que el grupo “rueda” se ejecute como root sin ninguna contraseña. Tampoco quiero que el usuario aga, que es parte del grupo rueda, ejecute ningún comando como root. Así que escribiré lo siguiente en mi “/etc/doas.conf”:

permit nopass :wheel as root
deny aga as root

Doas 04 Doas llenas Conf

Configuración posterior

Después de eso, debe ejecutar algunos comandos para asegurarse de que doas funcione según lo previsto. Primero, deberá configurar correctamente el propietario de doas.conf como root:

sudo chown -c root:root /etc/doas.conf

También deberá establecer los permisos de archivo del archivo de configuración en 0644 para asegurarse de que solo el usuario root pueda acceder al archivo.

sudo chmod -c 0644 /etc/doas.conf

Por último, deberá verificar doas en sí mismo para ver si hay errores de sintaxis dentro de la configuración. Para hacer esto, ejecute el siguiente comando:

sudo doas -C /etc/doas.conf && echo "OK" || echo "ERROR"

Configuración final de Doas 05

¡Felicidades! Ha instalado y configurado correctamente doas para su sistema. Ahora puede comenzar a usar doas como sustituto de sudo o ajustar su archivo doas.conf a su gusto. Para obtener más información sobre la administración del sistema en Linux, puede leer este artículo.

Preguntas frecuentes

1. Mi configuración no parece funcionar. He agregado una regla para un usuario específico y una regla general, pero la regla para el usuario no parece funcionar.

El archivo de configuración de doas funciona desde la regla más general hasta la más específica. Para que su configuración funcione, primero debe especificar la regla que se aplica a todos los usuarios. Luego puede especificar la regla dirigida a un solo usuario debajo de ella.

2. ¿Es posible conservar sudo y doas en el mismo sistema?

¡Sí! Doas y sudo son dos programas diferentes. No entran en conflicto entre sí, y está bien dejar sudo en el sistema y usar doas.

3. ¿Es posible obtener un shell raíz usando doas?

Sí, siempre que haya configurado correctamente su archivo de configuración. Puede iniciar un shell raíz ejecutando doas -s.

¿Le ha parecido útil este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.