¿Por qué sudo pide una contraseña en la ventana después de que me haya autenticado en una diferente?

10

Si estoy usando la línea de comando en xterm, gnome-terminal, etc., puedo evitar sudovolver a solicitar una contraseña, dentro de algunos límites, o puedo desactivarla.

Como un compromiso entre la usabilidad y la seguridad, generalmente solo quiero que este tiempo de espera de nueva consulta se alargue.

Por defecto, solo hay un período de gracia de 15 minutos después de ingresar una contraseña de sudo antes de que la solicite nuevamente. Para cambiar esto a 45 minutos, puedo editar /etc/sudoersy establecer timestamp_timeout al período de espera que quiero (en minutos).

archivo de sudoers

Si estoy dentro de la misma sesión de terminal e inicio un nuevo shell (escribiendo csho bash) se respeta el período de espera.

Pero si voy a otra ventana para acceder a la línea de comando allí, inmediatamente me solicitará mi contraseña si lo intento sudo.

Dentro de la misma sesión pseudoterminal ( pts) (por ejemplo, si engendro un nuevo shell dentro de la misma ventana gnome-terminal), se respeta el tiempo de espera.

Si inicio un nuevo xterm, gnome-terminal, etc., debo ingresar las credenciales nuevamente.

A pesar de ser el único usuario activo en mi sistema doméstico (un sistema de usuario único), etc., sudo no confía en que todas mis ptsentradas sean del mismo usuario:

~/pseudoland$ w
 01:27:39 up 1 day, 15:03,  7 users,  load average: 0.32, 0.71, 0.77
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
jgb    tty1                      23:56    1:30m  0.55s  0.51s -bash
jgb    tty7     :0               Tue10   39:03m  2:28m  0.76s gnome-session
root     pts/1    :0.0             00:30   56:23   0.01s  0.01s /bin/bash
jgb    pts/3    :0.0             01:16    0.00s  0.59s  3.22s gnome-terminal
jgb    pts/4    :0.0             01:27   26.00s  0.23s  0.23s /bin/bash
jgb    pts/5    :0.0             01:17    9:26   0.23s  0.23s bash

¿Hay alguna manera de decirle a sudo que debería considerar que todas las ventanas que abro provienen del mismo usuario y no volver a solicitar mi contraseña si el último temporizador de sudo no ha expirado?

belacqua
fuente

Respuestas:

12

El período de gracia está controlado por lo que se sudollama un "boleto". Cuando se autentica con sudo, crea este ticket con una cierta marca de tiempo que básicamente dice cuándo debe vencer la autenticación.

De forma predeterminada (esto se establece cuando se compila el paquete), este tiempo de espera es, como lo ha encontrado, por tty . Esta es una característica de sudo llamada 'tty_tickets'. Básicamente, esto significa que, en lugar de crear un bloqueo por usuario, sudo crea un bloqueo por tty.

Para volver al comportamiento anterior y anular el predeterminado, debe editar /etc/sudoers. Busque la Defaultslínea " ", que ya editó para cambiar el tiempo de espera, y añádala ,!tty_tickets. Esto desactivará la función tty_tickets y le dará el comportamiento que desea.

Iain Lane
fuente