Ich habe ein paar BASH-Tools, die diese mysql -e "{command}"Funktion verwenden. Das Passwort jedes Mal read -seinzugeben, wenn ich diese Tools benutze, wäre mühsam. Um zu vermeiden, dass das Passwort mit dem Code in eine Klartextdatei geschrieben wird, speichere ich es im Speicher (mithilfe von ) und lasse es bei jeder Ausführung der Befehle von BASH lesen.
Mysql glaubt immer noch, dass das Kennwort über die Befehlszeile übermittelt wird (weil es sozusagen über die Befehlszeile übermittelt wird), und gibt weiterhin den Fehler "Die Verwendung eines Kennworts in der Befehlszeilenschnittstelle kann unsicher sein" aus.
Für meine Zwecke muss ich diese Meldung nicht unterdrücken. Was ich wissen muss ist, was könnte es unsicher machen? Das Passwort ist physisch nie sichtbar, so dass Schulter-Surfen nicht möglich ist und sogar jemand, der mein SSH-Passwort erraten hat, dies nicht kann, da es im Speicher und nicht in Skripten gespeichert ist. Ist ein Man-in-the-Middle-Angriff oder ähnliches möglich?
bashgelesen, wenn Sie den Befehl ausführen? Wenn Sie das tun mysql -p"$pass", kann es jeder in sehen ps.
~/.my.cnfBeispiel Sie können pro Host angeben, indem Sie[client<hostname>]z. B.[clientlocalhost]MySQL-Tools wird es automatisch verwenden, damit es einfacher und sicherer ist