Articles

Cum să ștergeți în mod eficient Istoricul bash

Image: Jack Wallen

pe mașinile dvs. Acest lucru este minunat atunci când trebuie să repetați o comandă sau nu vă puteți aminti exact cum ați executat o comandă într-o sesiune anterioară. Cu toate acestea, acest lucru poate fi văzut și ca o problemă de securitate. Ce se întâmplă dacă cineva obține acces la mașina dvs., deschide o fereastră de terminal și verifică istoricul bash pentru a vedea ce comenzi ați rulat?

Bash are o modalitate la îndemână pentru a șterge istoricul: emite istoricul comenzii-c. există o mică problemă cu această abordare. Lasă-mă să-ți explic.

În primul rând, istoricul bash este reținut în fișierul~/.bash_history. Când aveți un terminal deschis și emiteți o comandă, aceasta scrie comanda în fișierul istoric. Deci, emiterea history-c va șterge istoricul din acel fișier. Problema apare atunci când aveți mai multe ferestre terminale deschise.

spuneți că aveți două ferestre terminale deschise și emiteți history-c de la prima și închideți fereastra respectivă. Apoi treceți la a doua fereastră terminal și tastați comanda exit pentru a închide fereastra respectivă. Pentru că ați avut o a doua fereastră bash deschisă, chiar și după rularea comenzii history-c în prima, acea istorie va fi păstrată. Cu alte cuvinte, comanda history-c funcționează numai atunci când este emisă din ultima fereastră terminal rămasă.

cum te descurci cu asta? Tu goli .fișier bash_history fie pe bază de instanță, fie prin utilizarea unui loc de muncă crontab pentru a face acest lucru în mod regulat. Dacă securitatea este o problemă serioasă pentru dvs., luați în considerare configurarea postului crontab. Iată cum.

vezi: Linux Foundation lansează programul de insigne pentru a spori securitatea open source (ZDNet)

ștergerea istoricului bash în mod regulat

înainte de a arăta cum să configurați lucrarea crontab pentru aceasta, știți că~/.fișierul bash_history poate fi șters cu comanda:

cat /dev/null > ~/.bash_history

care va goli conținutul fișierului, dar va păstra fișierul la locul său.

Să presupunem că doriți să ștergeți .fișier bash_history pentru utilizator olivia (care administrează serverul Linux) la 11:00 p.m. în fiecare zi. Ai crea o slujbă cron sub contul olivia. Pentru a face acest lucru, conectați-vă ca utilizator olivia, deschideți o fereastră terminal și emiteți comanda crontab-e. când se deschide editorul crontab, introduceți următoarele:

00 23 * * * cat / dev /null >~/.bash_history

salvați fișierul și cron va începe să șteargă istoricul Oliviei la ora 11:00 în fiecare zi.

o metodă sigură

aceasta este o metodă sigură de a șterge istoricul bash. Nu vă bazați întotdeauna pe comanda history-c, deoarece nu știți niciodată când un al doilea (sau un al treilea) terminal este încă deschis, gata să păstreze acel istoric păstrat.

vezi și

  • cum să sincronizați Google Cloud pe Linux cu Grive2 (TechRepublic)
  • opțiunile de confidențialitate GNOME oferă utilizatorilor și mai multă securitate desktop (TechRepublic)
  • De ce Internetul Lucrurilor are nevoie de open source (TechRepublic)
  • cum să gestionați permisiunile aplicației pe un telefon Ubuntu (TechRepublic)
  • cum să utilizați darkstat pentru a monitoriza traficul de rețea TechRepublic)
  • lista de verificare a puterii: gestionarea și depanarea conturilor de utilizator Linux (Tech Pro Research)