Apakah mungkin membuka sesi penyamaran bash
?
Misalnya, ketika kita perlu memasukkan kata sandi dalam perintah dan tidak ingin bash
menambahkannya ke riwayat.
bash
shell
command-history
privacy
Sudoer
sumber
sumber
cat | bash
akan menjalankan non-interaktifbash
tanpa pengeditan baris perintah yang cepat (hanya editor internal disiplin baris) atau riwayat.secrectcommand
tidak akan berada dalam bash history.Jawaban:
Saat Anda ingin
bash
berhenti mencatat perintah Anda, hapus sajaHISTFILE
variabelnya:Semua perintah selanjutnya seharusnya tidak lagi dicatat
.bash_history
.Di sisi lain, jika Anda benar-benar memasok kata sandi sebagai argumen untuk perintah, Anda sudah melakukan sesuatu yang salah.
.bash_history
tidak dapat dibaca dunia dan karenanya bukan ancaman terbesar dalam situasi ini:ps
dan/proc
merupakan masalah besar. Semua pengguna di sistem dapat melihat perintah yang sedang Anda jalankan dengan semua argumen mereka . Melewati kata sandi sebagai argumen baris perintah karenanya tidak aman . Gunakan variabel lingkungan atau file konfigurasi (yang telah Anda buat 600) untuk memasok kata sandi dengan aman.sumber
unset HISTFILE
memiliki efek yang serupa. Saya memiliki fungsi untuk ini:n() { HISTFILE=; PS1="~${PS1#\~}"; }
. Dengan begitu saya bisa melihat dengan jelas apakah saya dalam "mode penyamaran" atau tidak.Jika opsi ini belum ditetapkan
bash
, mungkin hanya itu yang Anda butuhkan. Ini kurang melemahkan daripada menonaktifkan semua riwayat. Dengan set itu, perintah apa pun yang dimulai dengan karakter spasi tidak akan disimpan ke daftar riwayat.Dari tautan terkait ini:
Mengapa bash memiliki opsi HISTCONTROL = ignorespace?
Mengapa bash tidak menyimpan perintah yang dimulai dengan spasi?
sumber
Anda dapat menonaktifkan sementara riwayat:
set +o history
Ada perbedaan antara penonaktifan histori dan unsetting
HISTFILE
:menampilkan sesuatu seperti ini:
yaitu semua perintah disimpan dalam daftar riwayat. Ketik
exit
untuk menyimpannya.Tapi
menampilkan sesuatu seperti ini:
Ringkasan :
set +o history
untuk sesi panjang.HISTCONTROL
dan<space>command
di waktu lain.sumber