summaryrefslogtreecommitdiffstats
path: root/server/bin/listclientmode
blob: 656ece998bb2c4adedcdd0fccfebba49bb88f176 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/bash
#/**
#@file    listclientmode
#@brief   Lista la plantilla de arranque PXE para los clientes, ya sea un equipo o un aula.
#@usage   listclientmode Ambito
#@param   Ambito    nombre de ordenador o nombre de aula
#@version 1.0.1 - Versión inicial.
#@author  Irina Gómez, Univ. Sevilla
#@date    2010-11-29
#@version 1.0.5 - Mejor acceso a la BD.
#@author  Ramon M. Gómez, Univ. Sevilla
#@date    2013-03-11
#**/


# Variables.
OPENGNSYS=${OPENGNSYS:-"/opt/opengnsys"}
SERVERCONF=$OPENGNSYS/etc/ogserver.json
TMPLDIR=$OPENGNSYS/tftpboot/menu.lst/templates

source $OPENGNSYS/lib/ogfunctions.sh || exit 1

# Control básico de errores.
[ "$*" == "help" ] && help
[ "$*" == "version" ] && version
[ $# -eq 1 ] || raiseError usage
[ "$USER" != "root" ] && raiseError access "Need to be root"
source_json_config $SERVERCONF 2>/dev/null || raiseError access "Sin acceso a fichero de configuración"

# Sustituir caracteres ' por \' para evitar inyección SQL.
RESOURCE="${1//\'/\\\'}"
# Obtener nombre de ordenador individual o todos los de una aula e indicar su plantilla asociada.
dbexec "SELECT nombreordenador, arranque
          FROM ordenadores
          JOIN aulas USING (idaula)
         WHERE aulas.nombreaula='$RESOURCE'
            OR nombreordenador='$RESOURCE';" | \
        while read PC TMPL; do
            echo "Equipo \"$PC\" asociado a arranque tipo \"$(head -1 $TMPLDIR/$TMPL | cut -f2 -d" ")\" (fichero $TMPL)"
        done