CTRL^Cを押してパスワードプロンプトを終了するには?

CTRL^Cを押してパスワードプロンプトを終了するには?

suコマンドを開始しましたが、キャンセルしたいとします。Control+Cうまくいきsuませんsudo...プロンプトを完了する必要があります(間違ったパスワードを複数回入力するか、正しいパスワードを入力してください)。

パスワードプロンプトを終了するために入力できる項目はありますか?

答え1

CTRL-D suプロンプトに従うことができます。
このショートカットはコンソールにファイルの終わりを知らせ、プロンプトを終了します。Authentication error予想どおり、コンソールにこの内容が表示されます。

答え2

su高い特権で実行していますが、応答は表示されません^C(信号を送信します)。あなたの特権)。あなたできる su別のシェルに移動し、別のシェルで終了します。また、(システムに応じて)進行中の厄介な端末セッションを閉じると、SIGHUP応答(電話切断信号)が発生する可能性があります。su

suあなたの意見を無視する方法はいくつかあります^C。例えば、

  • 信号ハンドラを作成するか
  • 他の制御端末で実行してください。

速読Debiansu後者を使用しているようです。もちろん、システムが異なる場合があります。

追加資料:

答え3

su間違ったパスワード入力中に私が見つけた最良の方法はControl+Uの後にControl+ですD。これにより、迷惑な遅延を防ぐことができます。Control+を使用して入力内容を消去してUパスワードを再試行することもできます。

Control+Uは現在のテキスト行を消去するコマンドで、シェル(およびおそらく他の場所)でも機能します。現在入力されたパスワードを消去するのも効果があるようですがsu、それも良いようです。

Control+を使用すると機能しないようで、C何らかの理由でsu無視されるようです。プロセスを開始したユーザーがsetuidのためにプロセスを終了できないことは事実ではありません。su別の端末を使用するか、別の端末で(開始ユーザーとして)プロセスを終了すると、完全に消えます。うまくいかないので、おそらく無視します。SIGTERMSIGQUITSIGINTsu

Control+D空のパスワードで入力することが唯一の方法のようですすぐに実行中に終了su- テキストを入力した場合、Control+を押すとD3秒の遅延が発生します(実際に正しいパスワードを入力しなかった場合は、ルートシェルが起動します)。

関連情報