In quali situazioni un utente non permetterebbe alla shell di registrare il suo comando nella cronologia?


18

Se posso aggiungere export HISTCONTROL=ignorespacein .bashrc, bash non registra tutti i comandi che hanno spazi bianchi prima di loro nella storia. Ma non capisco in quali situazioni sarà utile. Qualcuno può fare alcuni esempi?

Risposte:


32

Se i tuoi comandi contengono password o altre informazioni sensibili


4
@acgtyrant allora non hai mai inserito un comando con una password. L'idea è che se si fornisce una password sulla riga di comando, basta inserire uno spazio prima del comando e non verrà registrato suHISTFILE
Ulrich Dangel

3
I comandi mysql possono accettare la password dell'utente con cui ti connetti al database, ce ne sono troppi da elencare qui. Il punto che @Ulrich Dangel ha sottolineato è perfetto. Se stai digitando comandi con password, non lasciarli nella cronologia.
slm

5
Aggiungerò anche che quando sei e amministratore spesso non vuoi che la cronologia sia attiva, perché se un attaccante dovesse entrare nel sistema gli stai lasciando una traccia di dove sono le cose sulla scatola e quali tipi di comandi in genere vengono eseguiti sulla scatola.
slm

1
Se non disponi di comandi con informazioni riservate, non sei il pubblico di destinazione per quella funzione. Non tutte le funzionalità di un programma sono utilizzate da tutti gli utenti. (Questo è uno dei motivi per cui i programmi hanno "funzionalità", tutti usano una dozzina di funzioni, ma una dozzina diversa, e si chiedono a cosa servono tutte le altre inutili cruft.)
Kaz

1
Tieni presente che gli argomenti della riga di comando sono spesso visibili pso cercando /proc. Alcuni sistemi rendono l'ambiente visibile anche ad altri utenti. Un file in modalità 0700 su un tmpfs, OTOH, non presenta questi problemi.
derobert,

26

Un altro utilizzo è per i comandi che non si desidera ripetere accidentalmente, come ad esempio rm -rf *. Faccio ampio uso della storia e ogni tanto mi capita di colpire Enteraccidentalmente quando il comando che ho recuperato dalla storia non è quello che stavo cercando. Certo, la vera soluzione è sempre leggere attentamente i comandi prima di eseguirli. Ma essendo un po 'goffo, preferisco anche tenere comandi particolarmente distruttivi fuori dalla mia storia come precauzione aggiuntiva.


14
Vorrei aggiungere che ho trovato molto comodo ignorare ulteriormente alcuni comandi pericolose anche se mi dimentico di includere uno spazio: HISTIGNORE=" *:rm -f*:rm -r*:*--force*". Questo impedisce rm -fe rm -rdi essere salvato nella storia, così come tutto ciò che conteneva --force.
Petr Pudlák,

Questa è la / una vera soluzione. Non lasciare i coltelli in giro, dicendo che la vera soluzione è quella di non colpire con loro. Mentre il vecchio proverbio dice "non puoi staccarti dal fiume" - il che significa che non pulisci il fiume, invece smetti di scaricare rifiuti.
ctrl-alt-delor,

6

Un mio ex collega ha fatto questo con la maggior parte cde lscomandi, per registrare solo i comandi "utili".


3
Non eseguo quasi mai nethack al lavoro senza farlo ... (o top, o amico ...)
lotsoffreetime

In realtà, qualcuno può aggiungere export HISTCONTROL=ingoredupsa .bashrcdire a bash di non memorizzare i duplicati così la storia rendere più chiare. Puoi leggere questo articolo
acgtyrant,

2

Privacy dei dati. Nel momento in cui le forze dell'ordine abbattono la tua porta, potresti non voler che trovino residui

  • da dove perdi l'ultimo pron ^ Wwarez
  • quali film hai strappato e alimentato di recente a un torrent
  • password passate tramite argomenti ai programmi di crittografia / decrittografia

Seriamente, è probabilmente l'equivalente di una rigida impostazione della privacy nel tuo browser, che impedisce di registrare la cronologia del surf.


0

Se controlli la versione .bash_history è un modo utile per contrassegnare alcuni comandi come "speciali". Combinato con la cronologia-ricerca- * , è un modo per premere semplicemente Space+ m+ Up+ Enterper eseguire make --directory ~/dev/tilde cleane Space+ e+ Up+ Enterper eseguire editor ~/.bash_history, entrambi che utilizzo per la manutenzione del file di cronologia di Bash.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.