Linux Congelat
De franhpWiki
Revisió de 17:19, 6 oct 2009; Admin (Discussió | contribucions)
Contingut |
Exercici 1
Realitza un manual sobre el funcionament de l'script per a congelar l'escriptori de l'usuari.
Aquest script esborra el directori home de l'usuari i hi descomprimeix un altre que prèviament hem creat. Cal recordar que s'ha de modificar la variable usuari de l'script per a que especifiqui el directori home triat. Per començar s'ha d'executar l'ordre /etc/init.d/hielo.sh copiaseg i d'aquesta manera es realitzarà una còpia de seguretat del home de l'usuari que serà utilitzada posteriorment. Quan aquest procés hagi acabat, ja podrem executar /etc/init.d/hielo.sh start per tal de esborrar el contingut del home i posar-hi la còpia que s'ha realitzat amb la ordre anterior.
Exercici 2
Modifica l'script per a que no es congeli la carpeta de l'usuari Documents.
echo "S0: restaurant $usuari ..."
+ tar cf /root/Documents.tar $usuari/Documents/
rm -f -R $usuari
tar -Pxzf $tgz
+ tar -Pxf /root/Documents.tar
+ rm /root/Documents.tar
retval=$?
Exercici 3
Quan s'inicia el sistema, s'executa l'script /etc/init.d/bootmisc.sh. Explica com modificar l'anterior script per a que cada vegada que s'inicia l'ordinador, un usuari trobe congelat el seu escriptori.
En la secció do_start(), just després del comentari # Remove bootclean's flag files, hauriem d'escriure /etc/init.d/hielo.sh start & Alternativament es podria incloure la part necessària de l'script a /etc/gdm/PostSession, cosa que faria que tornés a l'estat congelat quan es reiniciés la sessió
L'script
################################## INICI script /etc/init.d/hielo.sh
#!/bin/bash
# description: script hielo.sh congela un usuari
## INICI configuració ##
usuari="/home/user/"
tgz="/root/user.tgz"
## FI configuració ##
retval=0
case "$1" in
'start')
# hielo: restaurant usuari...
if [ $test -e "$tgz" ]; then
echo "S0: restaurant $usuari ..."
rm -f -R $usuari
tar -Pxzf $tgz --exclude-from
retval=$?
# netejant /var/spool/cups (borrant treballs vells d'impressió)
if [ $test -d "/var/spool/cups" ]; then
rm -r /var/spool/cups/tmp/*
rm -r /var/spool/cups/*
mkdir /var/spool/cups/tmp
chown root:sys /var/spool/cups/tmp
chmod 1770 /var/spool/cups/tmp
fi
else
echo "$0: No s'ha trovat $tgz"
retval=1
fi
;;
'stop')
echo "$0: l'script hielo no es un daemon."
retval=0
;;
'copiaseg')
echo "Fent copia de seguretat de $usuari a $tgz ..."
if [ $test -d "$usuari" ]; then
if [ $test -e "$tgz" ]; then
rm -f $tgz
fi
tar -Pcvzf $tgz $usuari
retval=$?
else
echo "$0: No s'ha trovat $usuari al sistema"
retval=1
fi
;;
*)
echo "Utilització $0 { start | stop | copiaseg }"
;;
esac
exit $retval
################################## FI script /etc/init.d/hielo.sh
