el permiso de sudo no se agota durante la actualización de apt-get

9

Considere esto: escribe $sudo apt-get upgradey obtiene una lista de cosas que necesitan actualizarse con una confirmación "S \ n". antes de que pueda leer la lista y escriba "S" o "n", suena el teléfono o entra su jefe o usted hace algo más. Vuelves una hora más tarde y presionas Y para instalar las actualizaciones.

No se le volverá a solicitar una contraseña. presumiblemente, se ejecutarán más comandos sudo en el shell, porque el temporizador ha estado en espera esperando la entrada del usuario. O un usuario puede matar el proceso de actualización y hacer algo como sudo -isimplemente permanecer en la raíz indefinidamente.

Estoy usando ubuntu mate 14.04

¿Es esta una notable excepción de seguridad? ¿Debo tratar de informarlo en algún lugar? ¿Si es así, donde?

j0h
fuente
55
¿Qué quieres decir con "presumiblemente"? ¿Lo has probado o no?
luckyrumo
3
Intenté esto ahora, incluso con Defaults passwd_timeout=3 mi archivo sudoers, al ejecutar la sudo apt-get upgradecontraseña no se me pide. Eso no es bueno
Sergiy Kolodyazhnyy
No tengo el problema, con la configuración estándar en Ubuntu 15.04
luckyrumo
1
@TobiasKienzler no. No he alterado mi archivo sudoers de ninguna manera, excepto por agregar esa parte passwd_timeout. Mira mi respuesta. El problema era con el tiempo de espera de la marca de tiempo. Estas son diferentes opciones
Sergiy Kolodyazhnyy
1
@Serg Ya veo, hay dos tiempos de espera. Qué convenientemente confuso: / Gracias :)
Tobias Kienzler

Respuestas:

22

No se le solicita una contraseña porque sudoha hecho su trabajo y comenzó apt-getcomo root. Mientras está en el indicador, el apt-getproceso aún se está ejecutando, por lo que dado que todavía se está ejecutando como root, no es necesario ingresar su contraseña nuevamente.

En otras palabras, mientras se sudoesté ejecutando un proceso 'ed, no se le pedirá que ingrese su contraseña nuevamente para ese proceso; sudono interrumpe el proceso cada 15 minutos (el tiempo de espera predeterminado) y solicita su contraseña.

Ahora, si fuera a abrir otra terminal e intentara ejecutar otro proceso sudo, se le solicitará su contraseña.

saiarcot895
fuente
55
... o incluso en la misma terminal, después del comando sudo en pausa ha terminado
steeldriver
3

sudoLa timestamp_timeoutvariable predeterminada es de 15 minutos. Esto significa que si hace clic en n sudo apt-get upgradedentro de los 15 minutos, puede anticipar la entrada de root shell con sudo -i. Eso es exactamente lo que pasó. Sin embargo, si configura eso /etc/sudoerscomo Default timestamp_timeout 0, se le pedirá que lo haga cada vez. Personalmente, lo configuré en 3. Si su sudo no agota el tiempo de espera incluso después de 15 minutos, entonces hay algo muy mal con su sudobinario.

Este comportamiento no es un agujero de seguridad, sino una "característica de conveniencia" para los usuarios de sudo. Sin embargo, puedo estar de acuerdo en que para una seguridad más estricta, timestamp_timeoutdebe establecerse en un tiempo mucho más corto que 15 minutos.

Nota : la passwd_timeoutopción que he mencionado en mi comentario realmente agota el tiempo de solicitud de contraseña cuando no escribe la contraseña durante x minutos. Ese es uno de los momentos agradables donde te das cuenta de que debes leer con man sudoersmucho más cuidado.

Sergiy Kolodyazhnyy
fuente
2
tenga en cuenta que nunca debe editar /etc/sudoersdirectamente, use visudoen su lugar lo que verifica si hay errores de sintaxis antes de reemplazarlo sudoerscon un archivo defectuoso que de otro modo podría bloquearlo por completo del acceso a la raíz
Tobias Kienzler
0

Le sugiero que escriba sudo apt-get upgrade && exitesto saldrá de la terminal después de terminar la actualización. Cuando se cancela la actualización, el terminal no se cerrará, pero creo que ese no será el caso.

Marton
fuente