Bash History sicher nutzen   Vor kurzem aktualisiert!


und sensible Einträge entfernen

Die Bash speichert standardmäßig alle eingegebenen Befehle in der sogenannten History. Das ist praktisch – kann aber zum Problem werden, wenn dort sensible Daten landen (z. B. Passwörter, Tokens oder interne URLs).

Hier ein kompakter Überblick, wie man die History kontrolliert und gezielt bereinigt.

History anzeigen

Um sich die aktuelle History anzusehen:

history

Jeder Eintrag hat eine Nummer, über die er gezielt angesprochen werden kann.

Einzelne Einträge löschen

Wenn ein sensibler Befehl gespeichert wurde, kann er gezielt entfernt werden:

history -d 364

Löscht den Eintrag mit der Nummer 364 aus der aktuellen Session.

Damit die Änderung dauerhaft übernommen wird:

history -w

Mehrere oder alle Einträge löschen

Komplette History löschen:

history -c
history -w

Verhindern, dass Befehle gespeichert werden

Es gibt mehrere Möglichkeiten, sensible Befehle gar nicht erst zu speichern:

Führendes Leerzeichen nutzen

Wenn folgende Variable gesetzt ist:

export HISTCONTROL=ignorespace

Dann werden Befehle, die mit einem Leerzeichen beginnen, nicht gespeichert:

 ls -la   # wird gespeichert
  secret_command --token=abc123   # wird NICHT gespeichert

Bestimmte Muster ausschließen

export HISTIGNORE="*password*:*token*"

Alle Befehle, die diese Muster enthalten, werden ignoriert.

History temporär deaktivieren

set +o history   # deaktivieren
set -o history   # wieder aktivieren

Weitere Hinweise

  • Änderungen gelten oft nur für die aktuelle Session, wenn sie nicht in ~/.bashrc oder ~/.bash_profile gespeichert werden.
  • Bereits geschriebene Einträge in ~/.bash_history bleiben bestehen, bis sie aktiv entfernt werden.
  • In Multi-Session-Umgebungen kann es zu Überschreibungen kommen – besonders bei parallelen Shells.