lima-city: Webhosting, Domains und Cloud
1 Pluspunkt 0 Minuspunkte
Wie kann ich in Bash ein Passwort in einen Parameter einlesen ohne dass man das Passwort in der History sehen kann?
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

In Bash kannst du ein Passwort mit read -s einlesen. Dabei wird die Eingabe nicht auf dem Terminal angezeigt und landet auch nicht in der Bash History.

read -rsp "Passwort: " password
echo

Danach steht das Passwort in der Variable "$password".

some_command --password "$password"

Wenn du das Passwort als Kommandozeilenparameter an ein anderes Programm übergibst, kann es unter Umständen kurzzeitig über ps bzw. /proc sichtbar sein. Besser ist es, wenn das jeweilige Programm das Passwort über stdin oder einen eigenen Passwort-Prompt akzeptiert, z. B.

read -rsp "Passwort: " password
echo
printf '%s\n' "$password" | some_command --password-stdin
unset password

unset password entfernt die Variable anschließend aus der aktuellen Shell.

von (697 Punkte)  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Fragen und Antworten bewerten
  • Themen von Fragen bearbeiten
  • Fragen, Antworten und Kommentare bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft.

2,633 Fragen

3,155 Antworten

645 Nutzer