Newer
Older
#!/bin/bash
# Un'idea alternativa sarebbe impedire il caricamento del modulo
# usb-storage. Occorre pero' rimuoverlo dai moduli gia' caricati,
# e fare qualcosa nel caso in cui sia impossibile rimuoverlo
# (magari riavviare la macchina, ma al termine del processo per
# lanciare l'esame).
# echo 'install usb-storage : ' >> /etc/modprobe.conf
smontaerimuovimodulo() {
modprobe -r uas
modprobe -r usb_storage
while lsmod | grep usb_storage; do
cat /proc/mounts |grep "/run/media" | awk '{print $2}' | xargs -L 1 umount
echo "Can't remove usb_storage on `uname -n`, sleeping for 10 s"
sleep 10
modprobe -r uas
modprobe -r usb_storage
done
}
disabilitamodulo() {
cat <<EOF_MODPROBE >/etc/modprobe.d/nousbpen.conf
install usb_storage /bin/true
EOF_MODPROBE
}
riabilitamodulo() {
rm -f /etc/modprobe.d/nousbpen.conf
}
stop() {

Alberto LIVIO BECCARIA
committed
pkill -ALRM bta-no-usbpen
riabilitamodulo
echo "STOP ESAME-USB"
}
start() {
echo "ESAME_USB = ${ESAME_USB}"
if [ ${ESAME_USB} -eq 0 ]; then
# Fedora 13
#nohup udisks --inhibit -- /opt/esame/bin/bta-no-usbpen 999999 &
nohup udisks --inhibit-all-polling -- /opt/esame/bin/bta-no-usbpen 999999 &
smontaerimuovimodulo
disabilitamodulo
echo "USBPEN: nothing to do"
pkill -ALRM bta-no-usbpen
riabilitamodulo
fi
# A new idea to test: a /etc/udev/rules.d file (but does it get
# loaded if added after the boot, or does it requires a reboot,
# and so it's useless for the lab?)
# CAT <<EOF >/etc/udev/rules.d/10-bta-local.rules
# ACTION=="add|change", SUBSYSTEM=="block", KERNEL=="sd[b-e]*|sr", ENV{UDISKS_PRESENTATION_HIDE}="1"
# EOF
#
}
args=("$@")
case "$1" in
'start')
stop
start
;;
echo "Usage: $0 { start | stop | restart }";
exit 1;
;;