¿Es posible ingresar la contraseña para sudo solo una vez y configurarla para que no requiera contraseña en otros terminales?

33

Entro en mi primer sudocomando. Yo ingreso mi contraseña. Por un tiempo, no tendré que ingresar mi contraseña para los siguientes comandos de sudo.

Ahora la pregunta. Soy alguien que abre muchas terminales. Sería muy conveniente si no tengo que ingresar contraseñas cuando lo uso sudoen los terminales que abro después de mi primer sudo, por el corto tiempo en que no tendré que ingresar la contraseña para sudo en el terminal desde el cual he usado sudo para la primera vez. (Perdón por la larga oración!)

¿Es posible? Si no, ¿por qué? Si es así, ¿cómo?

daltonfury42
fuente
44
¿Has considerado que al hacerlo estás abriendo el agujero de seguridad que ese mecanismo existe para cerrar? La razón por la que debe ingresar su contraseña con sudo es para protegerse de la circunstancia de que un atacante de alguna manera haya obtenido acceso a una sesión de inicio de sesión en su nombre. Si lo desactiva y alguien logra secuestrar una de sus sesiones de terminal (¿están todas en la misma consola?) O de alguna otra manera obtiene acceso a una sesión de inicio de sesión en su nombre sin conocer su contraseña, podrá ejecutar cualquier comando como root. No es un escenario muy probable, pero es algo que debes considerar.
Pepijn Schmitz

Respuestas:

52

Claro que lo es. Ejecute sudo visudoy agregue esta línea a su sudoersarchivo:

Defaults        !tty_tickets

Como se explica en man sudoers:

 tty_tickets       If set, users must authenticate on a per-tty basis.
                   With this flag enabled, sudo will use a separate record
                   in the time stamp file for each tty.  If disabled, a
                   single record is used for all login sessions.  This
                   flag is on by default.

Al tty_ticketsdesactivar (eso es lo que !significa), habilita una única autenticación para que sea compartida por varias sesiones.

terdon
fuente
1
Lo único que hago de manera diferente aquí cuando aconsejo a los usuarios es usar un archivo sudoers.d en su lugar. De esa manera, si de alguna manera se arruinan muy fácil de recuperar, simplemente elimine ese archivo. Ex. sudo visudo -f /etc/sudoers.d/01_file
doug
¿Qué sucede cuando finaliza el tiempo de espera de sudo? o correr algo como sudo -k?
Maythux
@Maythux necesita ingresarlo nuevamente. Esto solo hace que una sola identificación funcione para todas las sesiones de shell. Nada más.
terdon
@ user3073656 ah, genial, eso tiene más sentido :). Sí, por favor, borraré el mío.
terdon
Debo tener en cuenta que si utilizo este método, la contraseña caducará solo en el tiempo de espera de 15 minutos, incluso si reinicio, lo que plantea un problema de seguridad. Entonces, ¿quizás agregar sudo -ka /etc/rc6.d?
daltonfury42 01 de