summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2013-03-12 12:26:21 +0000
committerramon <ramongomez@us.es>2013-03-12 12:26:21 +0000
commit9d380eca62c8d61916facb45c0bdaa8e49a14538 (patch)
tree6354525e86ec34f2d6ac8fd018b4cc129613eec4 /server
parentddd91fb1f94ca5b515fa1a40384c84ffbeb69be0 (diff)
#586: Ampliar seguridad al resto de scripts que acceden a MySQL.
git-svn-id: https://opengnsys.es/svn/branches/version1.0@3682 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'server')
-rwxr-xr-xserver/bin/compareDhcpOpengnsys17
-rwxr-xr-xserver/bin/listclientmode2
-rwxr-xr-xserver/bin/setclientmode6
-rwxr-xr-xserver/bin/setserveraddr2
4 files changed, 18 insertions, 9 deletions
diff --git a/server/bin/compareDhcpOpengnsys b/server/bin/compareDhcpOpengnsys
index 5bf3cd43..bc6447d1 100755
--- a/server/bin/compareDhcpOpengnsys
+++ b/server/bin/compareDhcpOpengnsys
@@ -12,6 +12,7 @@ PROG=$(basename $0)
DHCPFILE=${DHCPFILE:-/etc/dhcp/dhcpd.conf}
TMP_DHCP=/tmp/$PROG-dhcp$$
TMP_MYSQL=/tmp/$PROG-mysql$$
+TMP_MYCNF=/tmp/.my.cnf.$$
OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"}
SERVERCONF=$OPENGNSYS/etc/ogAdmServer.cfg
@@ -27,8 +28,16 @@ fi
# Obtener datos de acceso a la Base de datos.
source $SERVERCONF
-
-trap "rm -f $TMP_DHCP $TMP_MYSQL" 1 2 3 9 15
+# Componer fichero con credenciales de conexión.
+touch $TMP_MYCNF
+chmod 600 $TMP_MYCNF
+cat << EOT > $TMP_MYCNF
+[client]
+user=$USUARIO
+password=$PASSWORD
+EOT
+
+trap "rm -f $TMP_DHCP $TMP_MYSQL $TMP_MYCNF" 1 2 3 9 15
# Creo fichero temporal del dhcp
grep -v "#" $DHCPFILE |egrep -e "host " -e "hardware ethernet" -e fixed-address | sed -e 's/.$//' \
|sed -e s/"^.*host "//g -e s/\{/\;/g -e s/"^.*hardware ethernet "/=/g -e s/"^.*fixed-address "/=/g \
@@ -37,7 +46,7 @@ grep -v "#" $DHCPFILE |egrep -e "host " -e "hardware ethernet" -e fixed-address
# Creo fichero temporal del mysql, de la base de datos de opengnsys
-mysql -u "$USUARIO" -p"$PASSWORD" -D "$CATALOG" -N -e \
+mysql --defaults-extra-file=$TMP_MYCNF -D "$CATALOG" -N -e \
"select CONCAT_WS (';', nombreordenador, mac, ip) from ordenadores order by nombreordenador;" > $TMP_MYSQL
# Comparo los ficheros
@@ -45,5 +54,5 @@ echo "Comparamos las configuraciones: < dhcp y > mysql"
diff -bi $TMP_DHCP $TMP_MYSQL
[ $? == 0 ] && echo "El ficheros del servicio dhcp y la base de datos de ogAdmBD tienen la misma configuracion"
-rm -f $TMP_DHCP $TMP_MYSQL
+rm -f $TMP_DHCP $TMP_MYSQL $TMP_MYCNF
diff --git a/server/bin/listclientmode b/server/bin/listclientmode
index 9b6866fd..da4404e0 100755
--- a/server/bin/listclientmode
+++ b/server/bin/listclientmode
@@ -39,7 +39,7 @@ EOT
# Borrar el fichero temporal si termina el proceso.
trap "rm -f $MYCNF" 0 1 2 3 6 9 15
# Obtener nombre de ordenador individual o todos los de una aula e indicar su plantilla asociada.
-mysql --defaults-file=$MYCNF -D "$CATALOG" -s -N -e \
+mysql --defaults-extra-file=$MYCNF -D "$CATALOG" -s -N -e \
"SELECT nombreordenador, arranque FROM ordenadores
JOIN aulas USING (idaula)
WHERE aulas.nombreaula='$RESOURCE'
diff --git a/server/bin/setclientmode b/server/bin/setclientmode
index bf790b5f..2a695358 100755
--- a/server/bin/setclientmode
+++ b/server/bin/setclientmode
@@ -47,7 +47,7 @@ EOT
# Borrar el fichero temporal si termina el proceso.
trap "rm -f $MYCNF" 0 1 2 3 6 9 15
# Buscar ordenador individual o todos los de una aula.
-ETHERNET=$(mysql --defaults-file=$MYCNF -D "$CATALOG" -s -N -e \
+ETHERNET=$(mysql --defaults-extra-file=$MYCNF -D "$CATALOG" -s -N -e \
"SELECT mac FROM ordenadores
JOIN aulas USING (idaula)
WHERE aulas.nombreaula='$RESOURCE'
@@ -69,7 +69,7 @@ for MAC in $ETHERNET; do
# Si no está definida la variable LANG, usar idioma inglés por defecto.
[ -z "$LANG" -o "$LANG" == "C" ] && LANG="en"
# Obtener de la BD los parámetros de arranque asociados (separador es TAB).
- DATOS=$(mysql --defaults-file=$MYCNF -D "$CATALOG" -s -N -e \
+ DATOS=$(mysql --defaults-extra-file=$MYCNF -D "$CATALOG" -s -N -e \
"SELECT ' LANG=$LANG',
' ip=', CONCAT_WS (':', ordenadores.ip,
(@repoip:=repositorios.ip), aulas.router, aulas.netmask,
@@ -92,7 +92,7 @@ for MAC in $ETHERNET; do
# Crear fichero PXE a partir de la plantilla con los datos obtenidos en la BD.
sed -e "s/vga=[0-9]*//g; s/INFOHOST/$DATOS/g" $TEMPLATE >$PXEFILE
# Actualizar en la BD el modo de arranque asociada el cliente.
- mysql --defaults-file=$MYCNF -D "$CATALOG" -e \
+ mysql --defaults-extra-file=$MYCNF -D "$CATALOG" -e \
"UPDATE ordenadores SET arranque='$BOOTMODE' WHERE mac='$MAC';"
fi
let NPC=NPC+1
diff --git a/server/bin/setserveraddr b/server/bin/setserveraddr
index 694007d3..4e4a9c4b 100755
--- a/server/bin/setserveraddr
+++ b/server/bin/setserveraddr
@@ -74,7 +74,7 @@ user=$USUARIO
password=$PASSWORD
EOT
# Ejecutar actualización y borrar fichero de credenciales.
- mysql --defaults-file=$MYCNF -D "$CATALOG" -e \
+ mysql --defaults-extra-file=$MYCNF -D "$CATALOG" -e \
"UPDATE entornos SET ipserveradm='$ServidorAdm' WHERE identorno=1"
rm -f $MYCNF
echo "Default server interface set to: $1 ($ServidorAdm)"