Configurando sudo sin romperlo

+1
0
-1

En Ubuntu todas las operaciones de administración que requieren el usuario root se hacen utilizando sudo (a no ser que activemos la cuenta root en cuyo caso ya podremos acceder con este usuario como en cualquier otra distribución), por eso puede ser crítico modificar erroneamente el archivo /etc/sudoers ya que puede dejarnos sin posibilidad de convertirnos en root para administrar nuestra máquina.

Una forma de cambiar la configuración sobre seguro es utilizar visudo que edita el archivo /etc/sudoers y antes de consolidar los cambios analiza la sintaxis del archivo detectandonos los posibles errores cometidos.

El único problema que tiene para alguien que no conozca el editor vi es que utiliza este editor para abrir el archivo de configuración. Sin embargo los cambios que se van a hacer en el archivo tan solo van a exigir unos conocimientos mínimos de vi.

Voy a poner un par de ejemplos sobre la modificación con visudo.

  1. Supongamos que tenemos creado (desde la instalación) el usuario miusuario y que hemos creado otro usuario (otrousuario). Queremos que el nuevo usuario sea también capaz de administrar el sistema.
    • Editamos el fichero sudoers utilizando visudo
       sudo visudo
      
    • Con las flechas nos posicionamos en la línea donde aparece miusuario (si las flechas no funcionaran siempre se puede utilizar <ESC>j para bajar y <ESC>k para subir pero en el vi de Ubuntu las flechas funcionan).
       miusuario        ALL=(ALL) ALL
      
    • Cuando estamos sobre esta línea presionamos la tecla Y y a continuación la tecla p con lo que habremos duplicado la línea
       miusuario        ALL=(ALL) ALL
       miusuario        ALL=(ALL) ALL
      
    • A continuación nos ponemos sobre el principio del usuario (miusuario) en una de las dos líneas y presionamos las teclas ce y escribimos el otro usuario (otrousuario). Nos debería quedar algo parecido a:
       otrousuario        ALL=(ALL) ALL
       miusuario        ALL=(ALL) ALL
      
    • Grabamos el documento y salimos pulsando <ESC>:wq<ENTER>. Si hubiera algún error nos daría un aviso y no grabaría los cambios. Para salir sin grabar los cambios se haría con <ESC>:q!<ENTER>.
  2. Queremos ejecutar un determinado comando (/usr/bin/micomando) sin necesidad de introducir nuestra password.
    • Seguimos los pasos del ejemplo anterior para editar con visudo y duplicar la línea de nuestro usuario
       miusuario        ALL=(ALL) ALL
       miusuario        ALL=(ALL) ALL
      
    • Nos posicionamos (con las flechas) en la segunda línea y dejamos el cursor sobre la letra A del último ALL. Tecleamos <ESC>C y escribimos NOPASSWD: /usr/bin/micomando pulsando <ESC> para salir del modo edición. Debería quedar de la siguiente forma
       miusuario        ALL=(ALL) ALL
       miusuario        ALL=(ALL) NOPASSWD: /usr/bin/micomando
      
    • Grabamos el documento y salimos según lo indicado en el ejemplo anterior

Si no se quiere utilizar visudo porque se quiere correr el riesgo con gedit por no utilizar vi, se pueden tomar, a pesar de todo, algunas precauciones:

  • Abrimos una consola de root (Terminal root) y editamos /etc/sudoers con gedit
     gedit /etc/sudoers
    

    (no es necesario sudo porque en Terminal root ya somos root).

  • Después de modificar (y grabar el archivo) entramos en un terminal y ejecutamos algún comando con sudo verificando que funciona como queremos. Si no nos da ningún error podemos cerrar la consola de root, si por el contrario tenemos algún error modificamos desde la consola de root (que no deberiamos haber cerrado) el archivo para corregir el fallo.

NOTA: En vi son importantes las mayúsculas y las minúsculas, no es lo mismo Y que y


Texto bajo licencia Creative Commons.