Revisión 267
Añadido por Esteban M. Navas Martín hace más de 13 años
tareas_puppet/servidores_aula/apagado-terminales/files/apagaterminales.sh | ||
---|---|---|
# Detectamos los terminales encendidos, tal y como está definido en ldap
|
||
avahi-browse -trpk -d local _workstation._tcp 2>/dev/null | grep 192.168.0. | grep -v '_pro\|\-pro'| cut -d";" -f8 > /tmp/terminalesUp
|
||
|
||
# Añadimos las ips de las nuevas máquinas detectadas a /etc/dsh/machines.list.all para guardar una lista de todos los terminales
|
||
sort -o /etc/dsh/machines.list.all -m /tmp/terminalesUp /etc/dsh/machines.list
|
||
sort -o /etc/dsh/machines.list.all -u /etc/dsh/machines.list.all
|
||
|
||
# Creamos la lista de máquinas encendidas para no ejecutar el comando sobre máquinas apagadas
|
||
cat /tmp/terminalesUp > /etc/dsh/machines.list
|
||
|
||
# Obtenemos las claves rsa de los terminales encendidos
|
||
ssh-keyscan -t rsa -f /tmp/terminalesUp > /tmp/rsaterminalesUp
|
||
|
||
... | ... | |
sort -o /root/.ssh/known_hosts -u /root/.ssh/known_hosts
|
||
|
||
# Apagamos los terminales
|
||
dsh -a /sbin/poweroff -fp & 2>null
|
||
|
||
# y cargamos en /etc/dsh/machines.list la lista completa de terminales detectados en algún momento
|
||
cat /etc/dsh/machines.list.all > /etc/dsh/machines.list
|
||
while read IP
|
||
do
|
||
ssh root@$IP -a /sbin/poweroff -fp &
|
||
done < /tmp/terminalesUp
|
tareas_puppet/servidores_aula/apagado-terminales/leeme.txt | ||
---|---|---|
Destino: Servidores de aula.
|
||
|
||
Acción: * Copia el script apagaterminales.sh con permisos 750 a /usr/sbin
|
||
* Instala el paquete dsh, necesarios para que el script funcione.
|
||
* Crea las claves pública y privada de root en cada servidor de terminales,
|
||
si no han sido creadas aún, dejando vacía la "passphrase".
|
||
si no han sido creadas aún, dejando vacía la "passphrase".
|
||
* Añade la clave pública de root en el servidor de terminales (/root/.ssh/id_rsa.pub)
|
||
al fichero authorized_keys de la imagen de los terminales y regenera la imagen.
|
||
* Añade la llamada al script apagaterminales.sh al fichero /etc/gdm/PostSession/Default
|
||
... | ... | |
cuando se apague o reinicie el servidor.
|
||
|
||
Función: * apagaterminales.sh -> Apaga los terminales de un aula
|
||
* Está pensado para ejecutar el comando de apagado tan sólo sobre las máquinas que se detecten encendidas.
|
||
* El script hace uso de dsh y ssh-keyscan para cumplir con su función.
|
||
* Está pensado para ejecutar el comando de apagado tan sólo sobre las máquinas que se detecten encendidas
|
||
* pero al mismo tiempo, va construyendo una lista con las ips de los terminales que se van detectando en cada uso.
|
||
* Hace uso de ssh-keyscan para obtener las claves rsa de los terminales encendidos y añadirlas al fichero
|
||
/root/.ssh/known_hosts del servidor de terminales.
|
||
|
||
... | ... | |
* Cuando se reinicia el servidor de terminales.
|
||
* Cuando se apaga el servidor de terminales.
|
||
|
||
IMPORTANTE: Incluir el paquete dsh en el fichero mayhave del ltspserver:
|
||
/etc/puppet/files/mayhave.ltspserver
|
||
|
||
|
||
INSTRUCCIONES DE INSTALACION DEL MODULO
|
||
---------------------------------------
|
||
... | ... | |
|
||
Esteban M. Navas Martín
|
||
Administrador informático del IES Valle del Jerte.
|
||
Fecha creación: 03-Febrero-2011
|
||
Fecha última modificación: 11-Mayo-2011
|
||
|
||
03-Febrero-2011
|
tareas_puppet/servidores_aula/apagado-terminales/manifests/init.pp | ||
---|---|---|
class apagado-terminales {
|
||
|
||
package { dsh:
|
||
ensure=>"installed"
|
||
}
|
||
|
||
file {
|
||
"/usr/sbin/apagaterminales.sh" :
|
||
source => "puppet://puppetinstituto/apagado-terminales/apagaterminales.sh",
|
Exportar a: Unified diff
Subiendo versión mejorada de apagado-terminales