Tengo algunas herramientas BASH que usan la mysql -e "{command}"función. Ingresar la contraseña cada vez que uso estas herramientas sería una molestia, por lo tanto, para evitar que la contraseña esté escrita en un archivo de texto sin formato con el código, la almaceno en la memoria (usando read -s) y hago que BASH la lea cada vez que ejecuta los comandos.
Mysql todavía piensa que la contraseña se está enviando a través de la línea de comando (porque, en cierto modo, lo es), y aún me da el error "Usar una contraseña en la interfaz de la línea de comando puede ser inseguro".
Para mis propósitos, no necesito suprimir este mensaje. Lo que necesito saber es, ¿qué es lo que podría hacerlo inseguro? La contraseña nunca es físicamente visible, por lo que navegar por los hombros no podría hacerlo e incluso alguien que adivinó mi contraseña SSH no podría hacerlo, ya que está almacenada en la memoria en lugar de en los propios scripts. ¿Es posible un ataque de hombre en el medio o algo similar?
bashleído cuando ejecutas el comando? Si lo haces mysql -p"$pass", cualquiera puede verlo ps.
~/.my.cnfEjemplo Se puede especificar por host haciendo[client<hostname>]por ejemplo,[clientlocalhost]herramientas de MySQL lo utilizará de forma automática por lo que es más fácil y más seguro