summaryrefslogtreecommitdiffstats
path: root/server/bin/setclientmode
diff options
context:
space:
mode:
Diffstat (limited to 'server/bin/setclientmode')
-rwxr-xr-xserver/bin/setclientmode18
1 files changed, 13 insertions, 5 deletions
diff --git a/server/bin/setclientmode b/server/bin/setclientmode
index 08c0f30e..d70771c0 100755
--- a/server/bin/setclientmode
+++ b/server/bin/setclientmode
@@ -5,7 +5,9 @@
#@file setclientmode
#@brief Configura el archivo de arranque de PXE para los clientes, ya sea un equipo o un aula, generando enlaces a archivos usados como plantilla.
#@warning El archivo PXE por defecto "default" se deja en modo de ejecución "user" y se eliminan los enlaces para equipos con la plantilla por defecto.
-#@note Modo_trabajo = { 0, 1 }
+#@param $1 NombrePlatilla
+#@param $2 Ámbito { NombrePC | NombreAula }
+#@param $3 Modo_trabajo = { 0, 1 } - 0 si es temporal y 1 si es permanente.
#@version 1.0 - Versión inicial.
#@author Irina Gomez y Ramon Gomez - Univ. Sevilla, noviembre 2010
#@version 1.0.1 - Identificacion de la plantilla por nombre en consola = en primera linea de la plantilla
@@ -14,6 +16,9 @@
#@version 1.0.2 - Cambio en la funcionalidad del script: el cambio del archivo de arranque PXE puede hacerse de manera temporal (codigo 0) modificando solo el fichero de arranque PXE durante 60 sg. y sin tocar la base de datos o permanente (codigo 1), actualizando tanto el fichero PXE como la base de datos.
#@author Juan Carlos Garcia - Univ. Zaragoza
#@date 2015-11-17
+#@version 1.1.0 - Se incluye la unidad organizativa como parametro del kernel: ogunit=directorio_unidad (ticket #678).
+#@author Irina Gomez, ETSII Universidad de Sevilla
+#@date 2015-12-16
#*/ ##
@@ -97,9 +102,10 @@ for MAC in $ETHERNET; do
' oglog=', (SELECT (@serverip:=ipserveradm) FROM entornos LIMIT 1),
' ogshare=', @serverip,
' winboot=', IFNULL (perfileshard.winboot, 'reboot'),
- IF (aulas.ntp IS NULL, '', CONCAT (' ogntp=', aulas.ntp)),
- IF (aulas.dns IS NULL, '', CONCAT (' ogdns=', aulas.dns)),
- IF (aulas.proxy IS NULL, '', CONCAT (' ogproxy=', aulas.proxy)),
+ IF (aulas.ntp='', '', CONCAT (' ogntp=', aulas.ntp)),
+ IF (aulas.dns='', '', CONCAT (' ogdns=', aulas.dns)),
+ IF (aulas.proxy='', '', CONCAT (' ogproxy=', aulas.proxy)),
+ IF (entidades.ogunit=1 AND NOT centros.directorio='', CONCAT (' ogunit=', centros.directorio),''),
CASE
WHEN menus.resolucion IS NULL THEN ''
WHEN menus.resolucion <= '999' THEN CONCAT (' vga=', menus.resolucion)
@@ -108,6 +114,8 @@ for MAC in $ETHERNET; do
END
FROM ordenadores
JOIN aulas USING (idaula)
+ JOIN centros USING (idcentro)
+ JOIN entidades USING (identidad)
JOIN repositorios USING (idrepositorio)
LEFT JOIN perfileshard USING (idperfilhard)
LEFT JOIN menus USING (idmenu)
@@ -115,7 +123,7 @@ for MAC in $ETHERNET; do
# Quitar tabuladores y sustituir caracteres quitando acentos y tildes.
DATOS=$(echo ${DATOS// /} | tr 'áéíóúñÁÉÍÓÚÑ' 'aeiounAEIOUN')
# 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
+ sed -e "s/vga=[0-9]*//g; s#INFOHOST#$DATOS#g" $TEMPLATE >$PXEFILE
# 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