Articles

Hoe effectief uw Bash geschiedenis te wissen

Image: Jack Wallen

op uw Linux machines wordt een geschiedenis van uw bash commando ‘ s bewaard. Dit is geweldig als je een commando moet herhalen of je niet precies kunt herinneren hoe je een commando in een vorige sessie hebt uitgevoerd. Dit kan echter ook worden gezien als een beveiligingsprobleem. Wat als iemand toegang krijgt tot je machine, een terminalvenster opent en je bash-geschiedenis controleert om te zien welke commando ‘ s je hebt uitgevoerd?

Bash heeft een handige manier om de geschiedenis te wissen: geef het commando history-c. Er is een klein probleem met die aanpak. Laat het me uitleggen.

Ten eerste wordt uw bash-geschiedenis bewaard in het bestand~/.bash_history. Wanneer je een terminal open hebt, en je geeft een commando uit, schrijft het het commando naar het geschiedenisbestand. Dus het uitgeven van history-c zal de geschiedenis uit dat bestand wissen. Het probleem ontstaat wanneer u meerdere terminalvensters open hebt.

stel dat er twee terminalvensters geopend zijn en je geeft history-c uit vanaf de eerste en sluit dat venster. U gaat vervolgens naar het tweede terminalvenster en typt de opdracht exit om dat venster te sluiten. Omdat je een tweede bash venster geopend had, zelfs na het uitvoeren van het history-c commando in het eerste, zal die geschiedenis behouden blijven. Met andere woorden, het history-c commando werkt alleen als het wordt uitgegeven vanuit het laatst overgebleven terminalvenster.

Hoe kom je daar omheen? Je maakt het leeg .bash_history bestand, hetzij op een per-instantie basis of met behulp van een crontab taak om het regelmatig te doen. Als beveiliging een serieuze zaak voor u is, overweeg dan het opzetten van de crontab job. Dit is hoe.

zie: Linux Foundation lanceert badge programma om open source security (ZDNet) te stimuleren

Clearing bash geschiedenis op een regelmatige basis

voordat ik laat zien hoe je de crontab taak voor dit, weet dat de ~/.bash_history bestand kan worden gewist met het commando:

cat / dev/null >~/.bash_history

die de inhoud van het bestand leegmaakt, maar het bestand op zijn plaats houdt.

laten we zeggen dat je het wilt wissen .bash_history-bestand voor gebruiker olivia (die uw Linux-server beheert) elke dag om 11:00 uur. Je zou een cron baan creëren onder de olivia account. Om dat te doen, log je in als de gebruiker olivia, open een terminalvenster en voer het commando crontab-e uit. wanneer de crontab-editor opent, voer je het volgende in:

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

Sla dat bestand op en cron zal elke dag om 23:00 uur beginnen met het opruimen van olivia ‘ s geschiedenis.

een surefire methode

Dit is een surefire methode om uw bash geschiedenis op te ruimen. Vertrouw niet altijd op het history-c commando, omdat je nooit weet wanneer een tweede (of een derde) terminal nog open is, klaar om die geschiedenis te behouden.

zie Ook

  • Hoe om te synchroniseren met uw Google Cloud op Linux met Grive2 (TechRepublic)
  • GNOME privacy-opties geven gebruikers nog meer desktop security (TechRepublic)
  • Waarom het Internet van de Dingen behoeften open source (TechRepublic)
  • Hoe te beheren app machtigingen op een Ubuntu Phone (TechRepublic)
  • Hoe te gebruiken darkstat te controleren Linux server netwerk verkeer (TechRepublic)
  • Power checklist: het Beheren van en oplossen van problemen Linux gebruikersaccounts (Tech Pro Onderzoek)