Gizli bir oturum açmak mümkün mü bash?
Örneğin, komutlara şifreleri girmemiz gerektiğinde ve bashbunları tarihe eklemek istemediğimizde .
secrectcommandbash tarihinde olmayacak.
Gizli bir oturum açmak mümkün mü bash?
Örneğin, komutlara şifreleri girmemiz gerektiğinde ve bashbunları tarihe eklemek istemediğimizde .
secrectcommandbash tarihinde olmayacak.
Yanıtlar:
bashKomutlarınızı kaydetmeyi durdurmak istediğinizde , sadece HISTFILEdeğ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_historydünyaca okunamıyor ve bu nedenle bu durumdaki en büyük tehdit değil:
psve /procbü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 HISTFILEbenzer 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 exitkaydetmek 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 historyuzun oturumlar için.
HISTCONTROLve <space>commanddiğer zamanlarda.
cat | bashbashkomut 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 .