Gerade auf einem Server, auf dem sich mehrere Benutzer tummeln, sollten manche Dinge lieber verborgen bleiben. Führen Sie unter Linux Befehle auf dem Terminal aus, werden diese in die History geschrieben – genauer gesagt in die Datei.bash_history„, hierbei handelt es sich um eine reine Textdatei. Nutzen Sie Zsh – nennt sich diese Datei „.zsh_history“ – hierbei dasselbe:

Nutzen Sie einen richtigen root-Account, landen diese Befehle unter „/root„. Nehmen wir jetzt ein einfaches Beispiel – Sie arbeiten gerade mit MySQL und schreiben der Bequemlichkeit halber das Passwort gleich mit in den Befehl – das Passwort landet natürlich in der History. Jeder Benutzer mit administrativen Rechten kann nun in die History einsehen.

Jetzt könnte man natürlich mit einem Texteditor diese Befehle wieder aus der History löschen – oben finden Sie die ältesten, unten die aktuellsten. Dies ist halt recht umständlich und kann man auch vergessen.

Aber, es gibt natürlich auch andere Methoden – man muss sie nur kennen.

Unter auf Debian basierenden Linux-Distributionen, dazu gehören natürlich auch Ubuntu und darauf basierende, sowie unter openSUSE setzen Sie vor einem Befehl ganz einfach ein Leerzeichen – etwa:

 ls -lha

statt:

ls -lha

Setzen Sie ein Leerzeichen vor einem Befehl, landet dieser nicht in der History. Der Befehl lässt sich somit auch nicht mit Strg+r oder mit der Pfeil-nach-oben-Taste nicht finden. Achtung – dies funktioniert jedoch nur, wenn Sie die Bash nutzen.

Ob die Funktion aktiviert ist, zeigt der Befehl:

echo $HISTCONTROL

Im Screenshot oben sehen Sie zu Beginn den Befehl in der Zsh – nicht aktiv, darunter in der Bash – hier ist dieser aktiv. Erhalten Sie keine Ausgabe, ist die Funktion nicht aktiv, erhalten Sie eine der beiden folgenden Ausgaben, ist diese aktiv:

ignorespace
ignoreboth

Erste Variable wirkt nur bei Leerzeichen – geben Sie den Befehl nochmals ohne Leerzeichen ein, landet dieser in der History. Zweite Variable ist praktischer – geben Sie den Befehl mit anführendem Leerzeichen ein und ein zweites Mal ohne – wird auch der zweite Befehl, auch ohne Leerzeichen nicht in die History geschrieben.

Ist die Funktion nicht aktiv, können Sie diese aktivieren, indem Sie diese in der Datei.bashrc“ aktivieren, indem Sie folgende Zeile einfügen (natürlich nur eine):

HISTCONTROL=$HISTCONTROL ignorespace
HISTCONTROL=$HISTCONTROL ignoreboth

Anschließend laden Sie die Konfiguration mit:

source ~/.bashrc

neu, oder starten das Terminal neu.

Categories:

Schreibe einen Kommentar

Noch keine Reaktion

Neue Themen im Forum
Frage zu GrubDanke @juhu, das war für mich eine reine Verständnisfrage allge … Weiterlesen
Brother Drucker unter LinuxMit der Suche nach „Linux Brother HL-2030“ fand ich zur Seite htt … Weiterlesen
DebianJetzt klappt's! Das Problem war das Erstellen einer EFI-Sy … Weiterlesen
Kategorien im Wiki
WIKI-Beiträge des Monates

Die Beiträge des Monates finden Sie im Kalender unter den blau markierten Tageszahlen.

Januar 2024
M D M D F S S
1234567
891011121314
15161718192021
22232425262728
293031  
Archive