From 749ae5fbfec33947c2bbf3d0508fce45cb2ccd1c Mon Sep 17 00:00:00 2001 From: ramon Date: Mon, 31 Oct 2016 13:09:54 +0000 Subject: #755: Usar fichero temporal con datos de conexión a MySQL para no incluir datos sensibles en la ejecución de comandos. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://opengnsys.es/svn/branches/version1.1@5059 a21b9725-9963-47de-94b9-378ad31fedc9 --- installer/opengnsys_import.sh | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'installer/opengnsys_import.sh') diff --git a/installer/opengnsys_import.sh b/installer/opengnsys_import.sh index 69f44604..e58da24f 100755 --- a/installer/opengnsys_import.sh +++ b/installer/opengnsys_import.sh @@ -109,15 +109,27 @@ cp -r $TMPDIR/menus $OPENGNSYS/www # MYSQL echo " * Importamos informacion mysql." source $OPENGNSYS/etc/ogAdmServer.cfg +# Crear fichero temporal de acceso a la BD +MYCNF=$(mktemp /tmp/.my.cnf.XXXXX) +chmod 600 $MYCNF +trap "rm -f $MYCNF" 1 2 3 6 9 15 +cat << EOT > $MYCNF +[client] +user=$USUARIO +password=$PASSWORD +EOT + # Copia de seguridad del estado de la base de datos -mysqldump --opt -u $USUARIO -p$PASSWORD $CATALOG > $MYSQLBCK +mysqldump --defaults-extra-file=$MYCNF --opt $CATALOG > $MYSQLBCK # Importamos los datos nuevos -mysql -u "$USUARIO" -p"$PASSWORD" -D "$CATALOG" < $MYSQLFILE &>/dev/null +mysql --defaults-extra-file=$MYCNF -D "$CATALOG" < $MYSQLFILE &>/dev/null [ $? -ne 0 ] && echo "ERROR: Error al importar la información de la base de datos." # Importamos datos tabla usuario, ignoramos los repetidos sed -i -e s/IGNORE//g -e s/INSERT/"\nALTER TABLE usuarios ADD UNIQUE (usuario);\n\nINSERT IGNORE"/g $MYSQLFILE2 -mysql -u "$USUARIO" -p"$PASSWORD" -D "$CATALOG" < $MYSQLFILE2 &>/dev/null +mysql --defaults-extra-file=$MYCNF -D "$CATALOG" < $MYSQLFILE2 &>/dev/null [ $? -ne 0 ] && echo "ERROR: Error al importar la información de los usuarios de la consola" +# Borrar fichero temporal +rm -f $MYCNF echo -e "Se ha terminado de importar los datos del backup. \n\nSe han realizado copias de seguridad de los archivos antiguos:" echo " - $DHCPCFGDIR/dhcpd.conf-$(date +%Y%m%d)" -- cgit v1.2.3-18-g5258