Kullanıcı hangi durumlarda kabuğun komutunu tarihe kaydetmesine izin vermez?


18

Ben eklerseniz export HISTCONTROL=ignorespaceiçinde .bashrc, bash tarihine önlerinde boşluk olan herhangi komutları kaydetmez. Ancak hangi durumlarda yararlı olacağını anlamıyorum. Bazı örnekler verebilir mi?

Yanıtlar:


32

Komutlarınız şifre veya diğer hassas bilgileri içeriyorsa


4
@acgtyrant o zaman asla şifre ile bir komut girmediniz. Fikir şu ki, komut HISTFILE
satırında

3
mysql komutları, veritabanına bağlandığınız kullanıcının parolasını kabul edebilir, burada listelemek için çok fazla var. @Ulrich Dangel'in yaptığı nokta açıktır. Komutları parolalarla yazıyorsanız, bunları geçmişte bırakmayın.
slm

5
Ayrıca siz ve yönetici olduğunuzda sık sık tarih istemediğinizi de ekleyeceğim çünkü eğer bir saldırgan sisteme girecekse, ona kutunun üzerinde olan şeylerin ve hangi tür komutların izini bıraktığınızı genellikle kutuda çalıştırılır.
slm

1
Hassas bilgiler içeren komutlarınız yoksa, o özellik için hedef kitle siz değilsiniz. Bir programdaki her özellik her kullanıcı tarafından kullanılmaz. (Bu, programların "özellik sürünme" özelliğinin olmasının bir nedeni: herkes bir düzine özellik kullanıyor, ancak farklı bir düzine kullanıyor ve diğer tüm işe yaramaz hammaddenin ne için olduğunu merak ediyor.)
Kaz

1
Komut satırı argümanlarının genellikle içinde psveya bakarak görülebilir olduğunu unutmayın /proc. Bazı sistemler çevreyi diğer kullanıcılar için de görünür hale getirir. Bir tmpfs, OTOH üzerindeki bir mod 0700 dosyasında bu sorunlar yoktur.
derobert

26

Başka bir kullanım, yanlışlıkla tekrarlamak istemediğiniz komutlar içindir rm -rf *. Tarihi kapsamlı bir şekilde kullanıyorum ve tarihten Enteraldığım komut aradığım komut olmadığında yanlışlıkla vurdum . Gerçek çözüm, komutları çalıştırmadan önce daima dikkatli bir şekilde okumaktır. Ama biraz tuhaf olmakla birlikte, özellikle yıkıcı komutları ekstra bir önlem olarak tarihimin dışında tutmayı tercih ediyorum.


14
Bir boşluk eklemeyi unutsam bile bazı tehlikeli komutları daha fazla görmezden gelmeyi çok uygun bulduğumu ekliyorum HISTIGNORE=" *:rm -f*:rm -r*:*--force*". Bu engeller rm -fve rm -rgelen geçmişine kaydedilir yanı sıra içerdiği şey ediliyor --force.
Petr Pudlák

Bu / gerçek bir çözümdür. Gerçek çözümün kendinizle onlarla dürtmemek olduğunu söyleyerek bıçakları etrafta bırakmayın. Eski atasözü giderken “nehirde çiş yapamazsınız” - yani nehri temizlemeyin, bunun yerine çöpleri atmayı bırakın.
ctrl-alt-delor

6

Eski bir iş arkadaşım bunu yalnızca "yararlı" komutları kaydetmek için çoğu cdve lskomutla yaptı.


3
Bunu yapmadan neredeyse hiç nethack'i çalıştırmıyorum ... (ya da üst ya da erkek ...)
lotsoffreetime

Aslında, birisi bash'a kopyaları saklamamasını söylemek için ekleyebilir export HISTCONTROL=ingoredups, .bashrcböylece geçmişi daha net hale getirin. Bu makaleyi
acgtyrant

2

Veri gizliliği. Kolluk kuvvetleri kapınızı kırdığı anda, onların kalıntılarını bulmasını istemeyebilirsiniz.

  • En son pron ^ Wwarez'i
  • son zamanlarda hangi filmleri kopyalayıp bir torrent'e beslediniz
  • argümanlar üzerinden şifreleme / şifre çözme programlarına geçirilen şifreler

Cidden, muhtemelen tarayıcınızdaki sıkı bir gizlilik ayarına eşdeğerdir ve sörf geçmişini kaydetmesini engeller.


0

Eğer .bash_history kontrolünü kullanıyorsanız, belirli komutları "özel" olarak işaretlemenin faydalı bir yoludur. İle birlikte tarih-Arama-* , sadece basına bir yol Space+ m+ Up+ Enterçalıştırmak make --directory ~/dev/tilde cleanve Space+ e+ Up+ Enterçalıştırmak için editor ~/.bash_historyben Bash geçmiş dosyasına bakımı için kullanmak, her ikisi de.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.