¿Cómo puedo CTRL ^ C fuera de una solicitud de contraseña?

8

Digamos que comencé un sucomando y quiero cancelarlo. Control+ Cno funciona sucomo lo hace para sudo... Tengo que terminar el mensaje (ya sea equivocando la contraseña varias veces o bien).

¿Hay algo que pueda escribir para eliminar una solicitud de contraseña?

Questionmark
fuente
@DisplayName No puedes controlar-c desde un su como puedes hacerlo con un sudo ... este es un escenario diferente.
Questionmark
la respuesta es control-D.
DisplayName
@DisplayName Sí, vea la respuesta de Gilles. Mi punto es que esto no debe marcarse como un duplicado ...
Questionmark
Es un duplicado. La respuesta para la publicación que vinculé también dice control-D.
DisplayName

Respuestas:

5

suse ejecuta con privilegios elevados y no está viendo cómo responde ^C(lo que envía una señal con sus privilegios). Podrías usar su otro proyectil y matarlo del otro proyectil. Además (según el sistema), podría responder a SIGHUP(una señal de bloqueo) si cerró la sesión de terminal donde suestá ocurriendo lo incómodo .

Hay más de una forma que supuede ignorar su ^C, por ejemplo,

  • establecer manejadores de señal o
  • corriendo bajo una terminal de control diferente.

Una lectura rápida de Debiansu parece que usa este último. Su sistema, por supuesto, puede ser diferente.

Otras lecturas:

Thomas Dickey
fuente
Si ejecuto sucomo un usuario normal y está esperando una entrada de contraseña del usuario, ¿se está "ejecutando con privilegios elevados" en este momento?
techraf
1
Sí: puede verlo usted mismo haciendo un ps -efdesde otra terminal. Eso sucede automáticamente porque suestá configurado como root .
Thomas Dickey
7

Puedes CTRL-D suavisar.
Este acceso directo señala un final de archivo en la consola, cerrando el indicador; se mostrará la consola Authentication error, lo cual es de esperar.

joH1
fuente
3
Control-D sería un EOF (QUIT es una cosa diferente, y generalmente se detecta ). Pero sí, EOF podría funcionar.
Thomas Dickey
2

He encontrado que la mejor manera de matar sudurante el ingreso de una contraseña incorrecta es Control+ Useguido de Control+ D. Esto debería evitar retrasos molestos. También puede borrar la entrada con Control+ Uy volver a intentar escribir la contraseña.

Control+ Ues un comando que borra la línea de texto actual y también funciona en un shell (y probablemente también en otros lugares). También es bueno que parezca funcionar supara borrar la contraseña ingresada actualmente.

Usar Control+ Cno parece funcionar, parece que por alguna razón susimplemente lo ignora. No es cierto que el usuario que inició el proceso ya no pueda matarlo debido a setuid; sumuere perfectamente bien si lo matas con SIGTERMo SIGQUITdesde otro terminal (como un usuario que lo inició). SIGINTno funciona, así que suprobablemente solo lo ignore.

Control+ Dcon una entrada de contraseña vacía parece ser la única forma de eliminar instantáneamente una ejecución su: si se ingresa algún texto, presionar Control+ Dprovocará un retraso de 3 segundos (a menos que haya ingresado la contraseña correcta, en cuyo caso. .. iniciará un shell de raíz).

uukgoblin
fuente