summaryrefslogtreecommitdiffstats
path: root/server/bin/listclientmode
blob: 4193c6fcab0b9896b08995c9885c37a91df02f54 (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
42
43
#!/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/ogAdmServer.cfg
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 $SERVERCONF 2>/dev/null || raiseError access "Sin acceso a fichero de configuración"

# Obtener datos de acceso a la Base de datos.
source $SERVERCONF
# 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