In welchen Situationen würde ein Benutzer nicht zulassen, dass die Shell seinen Befehl in die Historie aufzeichnet?

18

Wenn ich hinzufügen , export HISTCONTROL=ignorespacein .bashrc, aufnehmen bash werden keine Befehle , die Leerzeichen in die Geschichte vor ihnen haben. Aber ich verstehe nicht, unter welchen Umständen es sinnvoll sein wird. Kann jemand einige Beispiele nennen?

acgtyrant
quelle

Antworten:

32

Wenn Ihre Befehle Kennwörter oder andere vertrauliche Informationen enthalten

Ulrich Dangel
quelle
4
@acgtyrant dann hast du noch nie einen Befehl mit einem Passwort eingegeben. Die Idee ist, wenn Sie ein Passwort in der Kommandozeile eingeben, nur ein Leerzeichen vor dem Kommando einzufügen und es nicht in denHISTFILE
Ulrich Dangel
3
Mit mysql-Befehlen kann das Kennwort des Benutzers akzeptiert werden, mit dem Sie eine Verbindung zur Datenbank herstellen. Es gibt zu viele, um sie hier aufzulisten. Der Punkt, den @Ulrich Dangel gemacht hat, ist genau richtig. Wenn Sie Befehle mit Kennwörtern eingeben, lassen Sie diese nicht im Verlauf.
SLM
5
Außerdem möchte ich hinzufügen, dass Sie als Administrator häufig nicht möchten, dass der Verlauf angezeigt wird, denn wenn ein Angreifer in das System eindringt, hinterlassen Sie ihm einen Überblick darüber, wo sich die Dinge auf der Box befinden und welche Arten von Befehlen vorhanden sind laufen normalerweise auf der box.
SLM
1
Wenn Sie keine Befehle mit vertraulichen Informationen haben, sind Sie nicht die Zielgruppe für diese Funktion. Nicht jede Funktion in einem Programm wird von jedem Benutzer verwendet. (Das ist ein Grund, warum Programme "Feature Creep" haben: Jeder verwendet ein Dutzend Features, aber ein anderes Dutzend, und fragt sich, wofür all die anderen nutzlosen Cruft ist.)
Kaz
1
Denken Sie daran, dass Befehlszeilenargumente häufig in psoder durch Nachsehen sichtbar sind /proc. Einige Systeme machen die Umgebung auch für andere Benutzer sichtbar. Eine Mode 0700-Datei auf einem tmpfs, OTOH, weist diese Probleme nicht auf.
Derobert
26

Eine andere Verwendung sind Befehle, die Sie nicht versehentlich wiederholen möchten, z rm -rf *. Ich nutze die Geschichte ausgiebig und treffe gelegentlich aus EnterVersehen, wenn der Befehl, den ich aus der Geschichte abgerufen habe, nicht der ist, den ich gesucht habe. Zugegeben, die wirkliche Lösung besteht darin, Befehle immer sorgfältig zu lesen, bevor sie ausgeführt werden. Da ich jedoch etwas unbeholfen bin, ziehe ich es vor, besonders destruktive Befehle aus meiner Geschichte herauszuhalten, um zusätzliche Vorsichtsmaßnahmen zu treffen.

depquid
quelle
14
Ich würde hinzufügen , dass ich es sehr bequem fand einige gefährlichen Befehle sogar weiter zu ignorieren , wenn ich vergesse , einen Raum umfassen: HISTIGNORE=" *:rm -f*:rm -r*:*--force*". Dies verhindert, dass rm -fund rm -rin der Geschichte sowie in allem, was enthalten ist, gespeichert wird --force.
Petr Pudlák
Das ist die / eine echte Lösung. Lassen Sie keine Messer herumliegen und sagen Sie, dass die wirkliche Lösung darin besteht, sich nicht damit herumzutreiben. Wie das alte Sprichwort sagt: „Man kann sich nicht vom Fluss lösen“ - was bedeutet, dass man den Fluss nicht säubert, sondern aufhört, Müll hineinzuwerfen.
Strg-Alt-Delor
6

Ein ehemaliger Mitarbeiter von mir tat dies mit den meisten cdund lsBefehle, um nur die „nützlichen“ Befehle aufzeichnen.

Jan Fabry
quelle
3
Ich laufe fast nie Nethack bei der Arbeit, ohne dies zu tun ... (oder oben oder Mann ...)
vieleFreizeit
Eigentlich kann jemand hinzufügen , export HISTCONTROL=ingoredupsin .bashrczu sagen , bash nicht zum Speichern von Duplikaten so macht Geschichte klarer. Sie können diesen Artikel
acgtyrant
2

Datenprivatsphäre. In dem Moment, in dem die Strafverfolgung Ihre Tür aufbricht, möchten Sie möglicherweise nicht, dass sie Reste von finden

  • woher wagt ihr das neuste pron ^ Wwarez aus
  • welche filme hast du kürzlich gerippt und in einen torrent gespeist
  • Passwörter, die über Argumente an Verschlüsselungs- / Entschlüsselungsprogramme übergeben werden

Im Ernst, es ist wahrscheinlich das Äquivalent zu einer strengen Datenschutz-Einstellung in Ihrem Browser, die verhindert, dass der Surf-Verlauf aufgezeichnet wird.

Jens
quelle