Warum sollte jemand keine Passwörter in der Kommandozeile benutzen?

33

Warum haben die Leute Angst, Passwörter in die Kommandozeile zu schreiben?

Die Verlaufsdatei befindet sich in ~/.history, sodass sie nur dem Benutzer zur Verfügung steht, der die Befehle ausgeführt hat (und root).

Dor
quelle
2
Sie können vermeiden, einige Befehle in Ihrer Verlaufsdatei zu protokollieren. Siehe die Antworten in Vermeiden Sie es, das Kommando in der Geschichte zu behalten
Luc M
5
Yuk! Auch wenn Sie Ihr Passwort mit definieren export mypass=secretund verwenden a_command --password=$mypass, werden Sie secretin der psTabelle sehen.
Luc M

Antworten:

51

Befehlszeilen sind nicht nur im Verlauf verfügbar. Sie sind beispielsweise auch in der Ausgabe ps -ocmdoder über das /procDateisystem verfügbar . ( /proc/<pid>/cmdline) Hier werden sie psgelesen.

Außerdem sind die Home-Verzeichnisse der Benutzer häufig weltweit oder in Gruppen lesbar. Sie können festlegen, dass die Verlaufsdatei nur vom Benutzer gelesen werden kann, das Löschen und die Neuerstellung jedoch möglicherweise nicht überstehen.

rici
quelle
17

Passwörter auf der Kommandozeile sind einfach eine schlechte Idee. Zusätzlich zu den in den anderen Antworten diskutierten Methoden:

  • / proc
  • Prozessliste ( ps)
  • Verlaufsdatei des Benutzers

Benutzerbefehle können auch an folgenden Stellen angezeigt werden:

  • Überwachungsprotokolle
  • / var / log / *

Darüber hinaus können Benutzerbefehle auch angezeigt werden, wenn Benutzer sich zwischen Systemen anmelden. Dies ist also im Allgemeinen eine schlechte Praxis und sollte jederzeit vermieden werden.

slm
quelle
3
+1 für die Referenz / var / log - Beachten Sie, dass die wichtigen Systemprotokolle häufig an einen anderen Ort gesendet werden können und nicht unbedingt auf demselben System verbleiben müssen. So können Ihre Passwörter versehentlich auch im Klartext über das Netzwerk übertragen werden.
Markieren Sie Glossop am
11

Das Problem ist die Sichtbarkeit der Parameter (in den meisten Fällen auch für Root-Benutzer), während der Befehl ausgeführt wird. Siehe die Ausgabe von

ps -eo pid,user,args
Hauke ​​Laging
quelle