Mientras trabajaba con el comando sudo para realizar tareas administrativas en Linux, es posible que haya notado que incluso si proporcionó la contraseña de sudo hace un tiempo, se le pedirá que la proporcione nuevamente después de un tiempo. Esto sucede debido al límite de tiempo de su sesión de sudo, que está configurado en 15 minutos de manera predeterminada. Si ingresa un comando sudo después de estos 15 minutos, incluso en la misma sesión de terminal, se le pedirá que ingrese la contraseña nuevamente. Como administrador de Linux, es posible que desee alargar o acortar el límite de tiempo de la sesión sudo a los quince minutos predeterminados.
Este tutorial describe cómo puede realizar cambios muy simples en el archivo /etc/sudoers para especificar un límite de tiempo para una sesión de Sudo. Los comandos mencionados en este artículo han sido ejecutados en Ubuntu 18; sin embargo, también funcionan de la misma manera en las versiones anteriores de Ubuntu.
Especifique el tiempo X para una sesión de Sudo
En este ejemplo, cambiaremos el límite de tiempo de nuestra sesión de sudo a 10 minutos. Siga estos pasos para cambiar el límite de tiempo de su sesión de Sudo por el tiempo que desee:
Abre tu terminal de Ubuntu presionando Ctrl+Alt+T o a través de Ubuntu Dash.
Dado que necesita editar el archivo sudoers ubicado en las carpetas etc., ingrese el siguiente comando:
$ sudo visudo
Se le pedirá que ingrese una contraseña para el usuario sudo.
Se preguntará por qué no abrimos el archivo sudoers como abrimos los otros archivos de texto. La respuesta es que, a diferencia de otros editores de texto, visudo verifica la sintaxis del texto que ingresa en el archivo. Esto le evita realizar cambios defectuosos que pueden causarle graves repercusiones. Por ejemplo, realizar ediciones defectuosas en el archivo sudoers puede costarle la imposibilidad de iniciar sesión como usuario privilegiado para realizar cualquiera de las funciones elevadas.
Escribe tu contraseña y entra. El archivo sudoers se abrirá en el editor Nano, ya que es el editor de texto predeterminado para Ubuntu 18.04.
En la imagen de arriba, puedes ver la siguiente línea:
Defaults env_reset
Esta línea es responsable del límite de tiempo de su sesión de sudo. Debe realizar los siguientes cambios en esta línea:
Defaults env_reset, timestamp_timeout=x
Aquí x es el tiempo, en minutos, que puede especificar para establecer el límite de tiempo requerido. Tenga en cuenta los siguientes puntos al configurar este tiempo de espera:
Si especifica que el tiempo de espera sea 0, su sesión durará solo 0 minutos. Significa que se le pedirá que ingrese contraseñas para cada uno de sus comandos sudo.
Si configura este tiempo para que sea menor que cero (en negativo), el comando sudo no funcionará correctamente.
En este ejemplo, estoy acortando el tiempo predeterminado de 15 minutos a 10 minutos a través de los siguientes cambios en mi archivo sudoers:
Presiona Ctrl+X para salir del archivo después de realizar los cambios necesarios. Se le preguntará si desea guardar el archivo modificado. Presiona Y por guardar los cambios.
También se le pedirá que especifique el nombre del archivo que desea guardar. Presione Intro ya que no queremos cambiar el nombre del archivo aquí.
Sus cambios se guardarán y su sesión de sudo durará hasta los minutos especificados cada vez que use el comando sudo.
Establecer la última sesión de Sudo hasta que se cierre la terminal
A través de un simple comando, puede dejar que su sesión de sudo dure hasta que cierre la terminal, sin importar cuánto tiempo permanezca abierta la terminal. No se le pedirá que ingrese su contraseña para ningún comando que requiera permiso sudo después de ejecutar este comando:
$ sudo -s
Termina la sesión de sudo
Una vez que haya proporcionado la contraseña para sudo, puede finalizar la sesión de sudo incluso antes del límite de tiempo especificado en el archivo sudoers, a través del siguiente comando simple:
$ sudo -k
Tenga en cuenta que este comando no finalizará la sesión si ha utilizado "sudo -s" durante una sesión de terminal.
Entonces, así es como puede acortar o alargar la duración de una sesión sudo haciendo un cambio de una línea en el archivo /etc/sudoers. También puede usar otros comandos mencionados en este artículo para terminar la sesión de sudo o hacer que dure hasta que dure la sesión de terminal.