Gizli bir oturum açmak mümkün mü bash
?
Örneğin, komutlara şifreleri girmemiz gerektiğinde ve bash
bunları tarihe eklemek istemediğimizde .
secrectcommand
bash tarihinde olmayacak.
Gizli bir oturum açmak mümkün mü bash
?
Örneğin, komutlara şifreleri girmemiz gerektiğinde ve bash
bunları tarihe eklemek istemediğimizde .
secrectcommand
bash tarihinde olmayacak.
Yanıtlar:
bash
Komutlarınızı kaydetmeyi durdurmak istediğinizde , sadece HISTFILE
değişkeni serbest bırakın :
HISTFILE=
Diğer tüm komutlar artık oturum açmamalıdır .bash_history
.
Öte yandan, gerçekten komutları argüman olarak şifreler sağlıyorsanız, zaten yanlış bir şey yapıyorsunuzdur. .bash_history
dünyaca okunamıyor ve bu nedenle bu durumdaki en büyük tehdit değil:
ps
ve /proc
büyük problem. Sistemdeki tüm kullanıcılar şu anda çalıştırmakta olduğunuz komutları tüm argümanlarıyla görebilirler . Bu yüzden şifreleri komut satırı argümanları olarak iletmek doğal olarak güvensizdir . Parolaları güvenli bir şekilde sağlamak için ortam değişkenlerini veya config dosyalarını (chmodded 600) kullanın.
unset HISTFILE
benzer bir etkiye sahiptir. Bunun için bir işlevi vardır: n() { HISTFILE=; PS1="~${PS1#\~}"; }
. Bu şekilde "gizli modda" olup olmadığımı açıkça görebiliyorum.
HISTCONTROL=ignorespace
Bu seçenek önceden ayarlanmamışsa bash
, tam da ihtiyacınız olan şey olabilir. Tüm tarihi devre dışı bırakmaktan daha az zayıflatıcıdır. Bu sette, boşluk karakteri ile başlayan herhangi bir komut satırı geçmiş listesine kaydedilmeyecektir.
Bu ilgili bağlantılardan:
Geçmişi geçici olarak devre dışı bırakabilirsiniz: set +o history
set +o history
...
set -o history
Geçmişi devre dışı bırakma ve ayarlamayı kaldırma arasında bir fark var HISTFILE
:
HISTFILE=
date
ls
HISTFILE=~/.bash_history
history
şöyle bir şey çıktılar:
84 HISTFILE=
85 date
87 ls
88 HISTFILE=~/.bash_history
89 history
yani tüm komutlar geçmiş listesine kaydedilir. Tip exit
kaydetmek için.
Fakat
set +o history
date
ls
set -o history
history
şöyle bir şey çıktılar:
115 set +o history
116 history
Özet :
set +o history
uzun oturumlar için.
HISTCONTROL
ve <space>command
diğer zamanlarda.
cat | bash
bash
komut istemi, komut satırı düzenlemesi olmadan (sadece çizgi disiplininin iç editörü) veya tarihçe olmadan etkileşimli olmayan bir komut çalıştırır .