Ho alcuni strumenti BASH che usano la mysql -e "{command}"funzione. Inserire la password ogni volta che utilizzo questi strumenti sarebbe una seccatura, quindi, per evitare di avere la password scritta in un file di testo in chiaro con il codice, la conservo in memoria (usando read -s) e faccio leggere a BASH ogni volta che esegue i comandi.
Mysql pensa ancora che la password venga inviata tramite la riga di comando (perché, per così dire, lo è) e mi dà ancora l'errore "L'uso di una password nell'interfaccia della riga di comando può essere insicuro".
Per i miei scopi, non ho bisogno di sopprimere questo messaggio. Quello che devo sapere è, che cosa potrebbe renderlo insicuro? La password non è mai fisicamente visibile, quindi il surf in spalla non potrebbe farlo e nemmeno qualcuno che ha indovinato la mia password SSH non sarebbe in grado di farlo poiché è memorizzato nella memoria piuttosto che negli script stessi. È possibile un attacco man-in-the-middle o qualcosa di simile?
bashletto quando esegui il comando? Se lo fai, mysql -p"$pass"allora chiunque può vederlo ps.
~/.my.cnfEsempio È possibile specificare per ogni host facendo[client<hostname>]ad esempio[clientlocalhost]MySQL strumenti utilizzerà automaticamente così è più facile e più sicuro