Katakanlah saya memulai sebuah su
perintah, dan saya ingin membatalkannya. Control+ Ctidak berfungsi su
seperti halnya untuk sudo
... Saya harus menyelesaikan prompt (baik dengan mendapatkan kata sandi yang salah kali atau dengan memperbaikinya).
Apakah ada sesuatu yang bisa saya ketik untuk mematikan prompt kata sandi?
bash
shell
command-line
kill
authentication
Tanda tanya
sumber
sumber
Jawaban:
su
sedang berjalan dengan hak yang lebih tinggi, dan Anda tidak melihatnya merespons^C
(yang mengirimkan sinyal dengan hak istimewa Anda ). Anda bisasu
ke shell lain dan membunuhnya dari shell lain. Juga (tergantung pada sistem), mungkin meresponSIGHUP
(sinyal hangup) jika Anda menutup sesi terminal di mana canggungsu
sedang berlangsung.Ada lebih dari satu cara yang
su
dapat mengabaikan Anda^C
, misalnya,Pembacaan cepat dari Debian
su
tampaknya menggunakan yang terakhir. Sistem Anda tentu saja mungkin berbeda.Bacaan lebih lanjut:
sumber
su
sebagai pengguna biasa dan sedang menunggu input kata sandi dari pengguna, apakah itu "berjalan dengan hak istimewa" pada saat ini?ps -ef
dari terminal lain. Itu terjadi secara otomatis karenasu
disetuid'd untuk root .Anda dapat
CTRL-D
su
meminta.Pintasan ini memberi sinyal akhir file pada konsol, berhenti dari prompt; konsol akan ditampilkan
Authentication error
, yang diharapkan.sumber
Saya telah menemukan cara terbaik untuk membunuh
su
selama memasukkan kata sandi yang salah adalah Control+ Udiikuti oleh Control+ D. Ini harus menghindari penundaan yang mengganggu. Anda juga dapat menghapus input dengan Control+ Udan mencoba kembali memasukkan kata sandi.Control+ Uadalah perintah yang menghapus baris teks saat ini, dan juga berfungsi dalam shell (dan mungkin juga tempat lain). Ini juga bagus karena sepertinya bisa digunakan
su
untuk menghapus kata sandi yang saat ini dimasukkan.Menggunakan Control+ Ctampaknya tidak berfungsi, tampaknya karena alasan tertentu
su
mengabaikannya. Tidak benar bahwa pengguna yang memulai proses tidak lagi dapat membunuhnya karena setuid -su
mati dengan baik jika Anda membunuhnya denganSIGTERM
atauSIGQUIT
dari terminal lain (sebagai pengguna yang memulai).SIGINT
tidak berfungsi, jadisu
mungkin abaikan saja.Control+ Ddengan input kata sandi yang kosong tampaknya menjadi satu-satunya cara untuk secara instan mematikan proses
su
- jika ada teks yang dimasukkan, maka menekan Control+ Dakan menyebabkan penundaan 3 detik (kecuali jika Anda benar-benar mengetikkan kata sandi yang benar, dalam hal ini. .. itu akan memulai shell root).sumber