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_export.sh | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) (limited to 'installer/opengnsys_export.sh') diff --git a/installer/opengnsys_export.sh b/installer/opengnsys_export.sh index 580c7b78..c8a75fba 100755 --- a/installer/opengnsys_export.sh +++ b/installer/opengnsys_export.sh @@ -82,15 +82,29 @@ cp $OPENGNSYS/client/etc/engine.cfg $TMPDIR echo "Guardamos las páginas de inicio." cp -r $OPENGNSYS/www/menus $TMPDIR -# MYSQL: Excluimos las tablas del servidor de administración (entornos) y repositorios +# Exportar la base de datos echo "Exportamos la información de la base de datos." source $OPENGNSYS/etc/ogAdmServer.cfg -mysqldump --opt -u $USUARIO -p$PASSWORD $CATALOG \ +# 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 + +# MYSQL: Excluimos las tablas del servidor de administración (entornos) y repositorios +mysqldump --defaults-extra-file=$MYCNF --opt $CATALOG \ --ignore-table=${CATALOG}.entornos \ --ignore-table=${CATALOG}.repositorios \ --ignore-table=${CATALOG}.usuarios > $MYSQLFILE # Tabla usuario -mysqldump --opt --no-create-info -u $USUARIO -p$PASSWORD $CATALOG usuarios > $MYSQLFILE2 +mysqldump --defaults-extra-file=$MYCNF --opt --no-create-info $CATALOG \ + usuarios > $MYSQLFILE2 +# Borrar fichero temporal +rm -f $MYCNF # IP SERVIDOR echo $ServidorAdm > $TMPDIR/IPSERVER.txt @@ -102,5 +116,6 @@ echo $ServidorAdm > $TMPDIR/IPSERVER.txt echo "Creamos un archivo comprimido con los datos: $BACKUPFILE." cd /tmp tar -czvf $BACKUPFILE ${TMPDIR##*/} &>/dev/null + # Cambio permisos: sólo puede leerlo el root chmod 600 $BACKUPFILE -- cgit v1.2.3-18-g5258