summaryrefslogtreecommitdiffstats
path: root/server/bin/setclientmode
diff options
context:
space:
mode:
Diffstat (limited to 'server/bin/setclientmode')
-rwxr-xr-xserver/bin/setclientmode10
1 files changed, 7 insertions, 3 deletions
diff --git a/server/bin/setclientmode b/server/bin/setclientmode
index 02e5be59..68729cc0 100755
--- a/server/bin/setclientmode
+++ b/server/bin/setclientmode
@@ -97,13 +97,17 @@ for MAC in $ETHERNET; do
LEFT JOIN perfileshard USING (idperfilhard)
LEFT JOIN menus USING (idmenu)
WHERE ordenadores.mac='$MAC';")
- # Quitar tabuladores y sustituir caracteres quitando acentos y tildes.
+ # Quitar tabuladores, sustituir acentos y dejar resolución por defecto.
DATOS=$(echo ${DATOS// /} | tr 'áéíóúñÁÉÍÓÚÑ' 'aeiounAEIOUN')
+ [[ "$DATOS" =~ (vga|video) ]] || DATOS="$DATOS vga=788"
# 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.
+ # Ponemos como propietario al usuario y grupo de Apache para que se pueda cambiar desde la consola web.
+ PERMS=$(ps axho user,group,comm|awk '!/root/ && /httpd|apache/ {u=$1; g=$2} END {if (g) printf "%s:%s",u,g}')
+ [ -n "$PERMS" ] && chown $PERMS $PXEFILE
+ # Actualizar en la BD la plantilla de arranque asociada el cliente.
mysql --defaults-extra-file=$MYCNF -D "$CATALOG" -e \
- "UPDATE ordenadores SET arranque='$BOOTMODE' WHERE mac='$MAC';"
+ "UPDATE ordenadores SET arranque='$(basename $TEMPLATE)' WHERE mac='$MAC';"
fi
let NPC=NPC+1
done