miércoles, 9 de enero de 2019

Configurando sudo


En Debian, por defecto ningún usuario puede utilizar sudo, lo que nos obliga a logarnos como root o adquirir su personalidad con su para realizar labores administrativas.

Pero trabajar como root entraña el riesgo de que cualquier vulnerabilidad que nos afecte tenga unos elevados privilegios. Y lo más común, cualquier error se convierte en un catastrófico error divino que puede malograr nuestro sistema.

Vamos a ver un poco como configurar sudo para evitar estos riesgos.


Podemos dar permiso a un usuario para emplear sudo de dos maneras distintas, la primera, editando el fichero /etc/sudoers. Tan solo hay que añadir algo así en la sección # User privilege specification

elusuarioquesea    ALL=(ALL:ALL) ALL
El problema aquí puede surgir por una mala sintaxis que arruine el fichero y al final nadie pueda utilizar sudo, o lo que es peor, no se pueda tan siquiera editar este fichero para arreglar el problema. Por ello, no te lances nunca a la torera a editarlo, utiliza siempre sudo visudo para hacerlo, pues este antes de grabar los cambios revisa la sintaxis para evitarnos disgustos.

Pero hay otra manera más elegante de hacerlo que editar el fichero para añadir nuestro usuario. También podemos añadir al usuario al grupo sudo, tan sencillo como:

  • sudo usermod -a -G sudo elusuarioquesea

Si en este punto piensas que estoy un poco mal de la cabeza para decirte que configures sudo, usando sudo… ¡Te equivocas! Tanto para añadir a elusuarioquesea al grupo sudo, como para usar visudo tienes que hacerlo como root y usando obligatoriamente el sudo, so pena que de no hacerlo no se encuentre el comando que quieres ejecutar.

Y ya que estamos con el tema, más de una vez me ha pasado volverme loco porque sudo no admite mi contraseña cuando el problema es que el teclado no iba todo lo bien que debería.  La solución, que aparezcan los típicos asteriscos por cada tecla pulsada al introducir la contraseña. Para ello, haremos uso de nuestro recién estrenado acceso a sudo, y editaremos, con visudo, el fichero /etc/sudoers. Tenemos que buscar la línea que pone
Defaults                 env_reset
Y convertirla en
Defaults                 env_reset,pwfeedback
Ya puestos, lo puedes adornar un poquito cambiando la frase con la que te pide la contraseña. Debes añadir una línea que diga algo así como
Defaults    passprompt=”Dime la contraseña dé %u para la máquina %h ”
Se sustituirá %u por tu nombre de usuario y %h por el de la máquina, quedando todo más personalizado.

Como ves, no es nada difícil, y siempre será más seguro que usar la cuenta de root.

2 comentarios:

  1. Excelente post y si me permites una observacion, yo en vez de modificar /etc/sudoers, prefiero añadir un fichero en /etc/sudoers.d así en caso de actualización del paquete sé que se conservará la configuración sin que de ningún conflicto.

    ResponderEliminar
    Respuestas
    1. Gracias por comentar. Tomo nota de tu sugerencia. No lo habia probado nunca

      Eliminar

prekes sodui