tecnoysoft software y tecnologia

Desactivar límite de tiempo para introducir contraseña en sudo

Como usuarios de Linux, estamos acostumbrados a usar sudo para adquirir permisos de súper usurario cuando estamos usando la terminal. Este programa nos solicita que introduzcamos la contraseña de nuestro usuario y luego, si esta es correcta y nuestro usuario está autorizado para usar sudo, este ejecutará el comando que le hayamos pasado como root.

Lo que algunos puede que no sepan es que sudo nos da un plazo de tiempo para que introduzcamos la contraseña, si no lo hacemos a tiempo, el proceso se cancela automáticamente con un error de tiempo agotado.

Es posible que nunca hayas visto dicho error, ya que normalmente sudo se usa de forma interactiva y lo normal es que tengas tiempo mas que suficiente para ver que se te está solicitando la contraseña y tecleara. Pero cuando sudo es parte de un script o es usado por otra aplicación de consola, como yay, puede ser que no tengas la terminal a la vista en el momento en que se te solicita la contraseña y para cuando te des cuenta, el tiempo habrá expirado y todo el proceso se habrá interrumpido.

Para evitar que esto suceda, podemos configurar sudo para que no ponga límite de tiempo para introducir la contraseña. Tan solo tendremos que editar /etc/sudoers con nuestro editor favorito, por ejemplo:

$ sudo nano /etc/sudoers

Buscar una línea que empieza por la palabra Defaults y añadir passwd_timeout=0 al final de la misma, por ejemplo:

Defaults passwd_timeout=0

Si no encuentras ninguna línea que empiece por Defaults, simplemente tendrás que crear una nueva.

Si encuentras una línea que empiece por Defaults, tendrás que añadir passwd_timeout=0 separándolo con una coma y un espacio del final de la línea, por ejemplo, si encuentras esto:

Defaults env_keep += "HOME"

Lo modificas para que sea como sigue:

Defaults env_keep += "HOME", passwd_timeout=0

Ahora solo queda guardar los cambios que hemos hecho y listo. Sudo no volverá a cancelar un comando porque tardemos en teclear la contraseña.