Wie kann ein Vorgang an der Eingabeaufforderung für das sudo-Passwort korrekt abgebrochen werden?

8

Manchmal wundert es mich über die "kleinen" Dinge, die ich über Unix nicht weiß. Seit Jahren habe ich gelegentlich festgestellt, dass ich nicht wirklich weiß, wie ich sauber mit der Eingabeaufforderung für das sudo-Passwort umgehen soll. Hin und wieder sudo ich etwas, nur um zu erkennen, dass ich den Befehl überhaupt nicht ausführen möchte. Dies passiert selten genug, ich vergesse immer zu fragen, aber nur oft genug, dass ich mich erinnere, dass ich immer noch nicht den richtigen Weg zum Abbruch gelernt habe.

Sobald sudo nach einem Passwort fragt, will es nicht mehr aufgeben. Sie können nicht Ctrl+ Ces. Wenn Sie ihm das richtige Passwort geben, wird der Befehl ausgeführt, den ich abgebrochen haben möchte. Die einzige Lösung, die ich gefunden habe, besteht darin, falsche Passwörter zu vergeben, bis das Aufgeben aufgegeben wird und auf eine su-Eingabeaufforderung zurückgegriffen wird, die tatsächlich ein Ctrl+ abhört C. Das fühlt sich für mich schmutzig an. Es ist traurig genug, dass ich meine Meinung über einen Befehl geändert habe; es nicht sauber abbrechen zu können ist nur peinlich.

Was ist der richtige Weg, um sudo anzuweisen, den Versuch an der Passwortabfrage abzubrechen?

Caleb
quelle
8
Ctrl-cgeht für mich in bash und zsh ...
jasonwryan
@ Jasonwryan Nun, das ist interessant. Ich frage mich, was an unseren Konfigurationen anders ist. Das scheint sicherlich naheliegend zu sein, funktioniert aber auf keinem meiner Systeme.
Caleb
Getestet auf Arch und Debian. Nichts, was ich darin sehen kann sudoers, würde das erklären.
Jasonwryan
Dies ist das Nächste, was ich finden konnte: ubuntuforums.org/showthread.php?t=1455643
jasonwryan
1
@ryekayo Ich bin auch verwirrt über den "richtigen" Ansatz (daher frage ich dies). Es scheint, als sollte es auf das erste reagieren Ctrl+Cund für viele Menschen ist es das, aber in einigen Situationen ist es offensichtlich nicht so. Ich habe den Unterschied noch nicht herausgefunden.
Caleb

Antworten:

1

Was ich in der Regel tun , ist Ctrl+ Zdie Aufgabe zu suspendieren, dann kill %1oder sogar kill -9 %1zu stoppen:

> sudo ls
[sudo] password for user:

Ctrl + Z

[1]  +   512 Suspended                     sudo ls
> kill %1
[1]  + Suspended (tty output)        sudo ls
> kill -9 %1
[1]    Killed                        sudo ls

(Falls Sie mehr Hintergrundaufgaben in Ihrer Shell haben: Die Zahl, die Sie nach dem Prozentzeichen angeben müssen, ist die in Klammern []).

Ned64
quelle
Es hängt von Ihren Systemeinstellungen ab, ob STRG-C unterstützt wird. Auf diese Weise beenden Sie jedoch alle Aufgaben, die nicht auf STRG-C reagieren.
Robert Wm Ruedisueli
0

Sie können dies mit einem Ctrl+ tun D.

Clément DUGAL
quelle