root/scripts/nfs/copiar-escritorio-todos-alumnos.sh @ 536
535 | adminies.v | #!/bin/bash
|
|
#Para ejecutar en el servidor nfs
|
|||
#Copia un fichero en el escritorio de todos los alumnos.
|
|||
#Si se añade el parametro -i el fichero se hace inmutablep para que no pueda ser borrado
|
|||
#Alfonso Pastor. IES Virgen de Guadalupe.
|
|||
function error() {
|
|||
echo "Uso: $0 [-i] fichero"
|
|||
echo " -i : hacer el fichero inmutable tras copiarlo"
|
|||
exit
|
|||
}
|
|||
function copiar_escritorio() {
|
|||
# 3 parametros: ruta home destino, fichero a copiar, "I" hacerlo inmutable
|
|||
destino=$1
|
|||
fichero=$2
|
|||
inmutable=$3
|
|||
uid=$(stat -c%u $destino)
|
|||
if test ! -d $destino/Desktop
|
|||
then
|
|||
echo "El usuario $destino no tiene escritorio. Creandolo...."
|
|||
mkdir $destino/Desktop
|
|||
chown $uid:$uid $destino/Desktop
|
|||
chmod 2755 $destino/Desktop
|
|||
fi
|
|||
cp -p $fichero $destino/Desktop
|
|||
chown $uid:$uid $destino/Desktop/$fichero
|
|||
if [ "$inmutable" = "I" ]
|
|||
then
|
|||
chattr +i /home/alumnos/$i/Desktop/$fichero
|
|||
fi
|
|||
}
|
|||
if test $# -eq 0
|
|||
then
|
|||
error
|
|||
fi
|
|||
if [ "$1" = "-i" ]
|
|||
then
|
|||
cambiar="I"
|
|||
fichero=$2
|
|||
if test -z "$fichero"
|
|||
then
|
|||
error
|
|||
fi
|
|||
else
|
|||
cambiar="N"
|
|||
fichero=$1
|
|||
fi
|
|||
echo "Fichero a copiar: $*"
|
|||
for i in $(ls /home/alumnos); do
|
|||
echo "Copiando al escritorio del alumno $i"
|
|||
copiar_escritorio /home/alumnos/$i $fichero $cambiar
|
|||
done
|