Estoy escribiendo un script bash que planeo ejecutar a través de cron. En este guión, quiero ejecutar un comando contra una base de datos MySQL, algo como esto:¿Cómo puedo ocultar una contraseña/nombre de usuario utilizado en un script bash para acceder a MySQL?
$ mysql -u username -ppassword -e 'show databases;'
Para mayor claridad y aquellos que no están familiarizados con MySQL, el interruptor "-u" acepta el nombre de usuario para acceder a la base de datos y la "-p" es para contraseña (espacio omitido a propósito).
Estoy buscando una buena manera de mantener el nombre de usuario/contraseña a mano en el guión, pero de una manera que también mantendrá esta información segura de miradas indiscretas. He visto las estrategias que requieren lo siguiente:
- Mantener la contraseña en un archivo: pword.txt
- chmod 700 pword.txt (eliminar los permisos para todos, excepto el propietario del archivo" pword.txt
- gato en una variable en el script cuando sea necesario para el inicio de sesión.
pero no siento que esto es muy seguro ya sea (algo acerca de mantener las contraseñas en el claro que me hace mareado).
Entonces, ¿cómo s ¿Debo proteger la contraseña que se utilizará en un script automatizado en Linux?
Esto al menos mantendrá la información en una ubicación (aunque en el claro). ¿El archivo de opción se lee cuando la llamada a mysql se realiza en un script ejecutado por cron? – Steven
@shambleh, en mi entorno lo hace. Estoy en Debian Etch (4.0). –