Linux Admins befinden sich hin und wieder mal in der Situation, dass eingegebene Befehle in einer Linux Konsole nach dem Logout nicht mehr in der bash history ersichtlich sein sollen.
Wer böse Absichten dahinter vermuten mag, kann durchaus damit im Recht sein . Jedoch können die Gründe dafür wiederum auch völlig legitim sein. So kÖNNEN – z.B. vor Auslieferung eines neu eingerichteten Systems – die letzten Installationsschritte oder beispielsweise nach Unterstützung des Support für ein System der Rechner nach der Hilfeleistung wieder sauber verlassen werden.
Wie verhindere bzw. bereinige ich die Protokollierung der letzten Befehlseingaben?
Die Eingaben in der Konsole werden in der Datei .bash_history protokolliert. Je nach eingeloggten Benutzer muss die entsprechende Datei bereinigt werden. Für den Benutzer root lässt sich die Datei hier finden:
root@myLinux # ls /root/.bash_history |
Für alle anderen Benutzer mit einem eigenen Home Directory befindet sich die Datei im Haupt Verzeichnis des jeweiligen Benutzer:
root@myLinux # ls /home/user/.bash_history |
Wenn die Datei nun gelöscht wird, sind keine Befehle mehr im Protokoll zu sehen. Beim nächsten Login wird die Datei automatisch wieder erzeugt.
Achtung: Da die letzten Befehle erst nach dem Logout in die Datei geschrieben werden, werden die Befehle der aktuellen Session trotzdem noch protokolliert!
Um aktuelle Eingaben nicht mit schreiben zu lassen, muss man sich also nach dem Logout ein weiteres Mal einloggen und die Datei erneut löschen oder in der angemeldeten Session die Protokollierung gleich unterbinden. Hierfür gibt es mehrere mögliche Befehle:
root@myLinux # unset HISTFILE && exit |
oder:
root@myLinux # HISTSIZE=0 && exit |
oder:
root@myLinux # kill –9 $$ |
oder:
root@myLinux # history –c && exit |
oder: