mirror of
https://github.com/iiab/iiab.git
synced 2025-03-09 15:40:17 +00:00
usb_lib/*, vars/*: prevent Cheating (Copying) of homeworks, when teacher creates 'PUBLIC' folder on their USB stick
This commit is contained in:
parent
b0ef084ac8
commit
7c2f0c9c6e
15 changed files with 85 additions and 106 deletions
|
@ -5,10 +5,10 @@ DEVICE=`echo $@ | sed -s 's|-|/|'`
|
|||
MNT_POINT=`findmnt -n /$DEVICE | awk '{print $1}'`
|
||||
CONTENT_LINK_USB=`basename $MNT_POINT | awk '{print toupper($0)}'`
|
||||
CONTENT_LINK="/library/www/html/local_content/$CONTENT_LINK_USB"
|
||||
logger -p user.notice -t "usbmount" -- "Attempting to remove link $CONTENT_LINK."
|
||||
logger -p user.notice -t "usb_lib (iiab-clean-usb.sh)" -- "Attempting to remove link $CONTENT_LINK."
|
||||
|
||||
if [ -L $CONTENT_LINK ]; then
|
||||
/bin/rm $CONTENT_LINK
|
||||
logger -p user.notice -t "usbmount" -- "$CONTENT_LINK removed."
|
||||
logger -p user.notice -t "usb_lib (iiab-clean-usb.sh)" -- "$CONTENT_LINK removed."
|
||||
fi
|
||||
|
||||
|
|
|
@ -1,72 +0,0 @@
|
|||
#!/bin/bash
|
||||
# Create symlink in DocumentRoot/content to autmounted usb drive
|
||||
#
|
||||
# based on a similar script in the xs-rsync package
|
||||
# by Martin Langhoff <martin@laptop.org>
|
||||
#
|
||||
# and the adaptation for xs-activity-server by Douglas Bagnall
|
||||
# <douglas@paradise.net.nz>
|
||||
#
|
||||
# by Tim Moody tim@timmoody.com
|
||||
|
||||
source {{ iiab_env_file }}
|
||||
case $IIAB_USB_LIB_SHOW_ALL in
|
||||
'True'|'true'|'TRUE')
|
||||
logger -p user.notice -t "70-usb-library" -- "Display entire USB drive is True. Checking for rootfs or /library on $UM_MOUNTPOINT."
|
||||
# regularize the variable
|
||||
IIAB_USB_LIB_SHOW_ALL=True
|
||||
;;
|
||||
*)
|
||||
logger -p user.notice -t "70-usb-library" -- "Looking for /share, /Share, /Piratebox/Share, /USB, or /usb on $UM_MOUNTPOINT."
|
||||
;;
|
||||
esac
|
||||
|
||||
VERBOSE=yes
|
||||
|
||||
SHARE_DIR=""
|
||||
# Only show content if in these directories
|
||||
|
||||
if [ -d $UM_MOUNTPOINT/share ]; then
|
||||
SHARE_DIR="$UM_MOUNTPOINT/share"
|
||||
fi
|
||||
if [ -d $UM_MOUNTPOINT/Share ]; then
|
||||
SHARE_DIR="$UM_MOUNTPOINT/Share"
|
||||
fi
|
||||
if [ -d $UM_MOUNTPOINT/Piratebox/Share ]; then
|
||||
SHARE_DIR="$UM_MOUNTPOINT/Piratebox/Share"
|
||||
fi
|
||||
if [ -d $UM_MOUNTPOINT/USB ]; then
|
||||
SHARE_DIR="$UM_MOUNTPOINT/USB"
|
||||
fi
|
||||
if [ -d $UM_MOUNTPOINT/usb ]; then
|
||||
SHARE_DIR="$UM_MOUNTPOINT/usb"
|
||||
fi
|
||||
|
||||
if [ "$IIAB_USB_LIB_SHOW_ALL" == "True" ]; then
|
||||
UM_DEV=`findmnt $UM_MOUNTPOINT | grep / | awk '{print $2}'`
|
||||
LIB_DEV=`findmnt /library | grep / | awk '{print $2}' |awk -F '[' '{print $1}'`
|
||||
ROOT_DEV=`findmnt / | grep / | awk '{print $2}'`
|
||||
if [ "$UM_DEV" == "$LIB_DEV" ]; then
|
||||
logger -p user.notice -t "70-usb-library" -- "skipping $UM_MOUNTPOINT containing /library"
|
||||
#echo "lib on dev"
|
||||
elif [ "$UM_DEV" == "$ROOT_DEV" ]; then
|
||||
logger -p user.notice -t "70-usb-library" -- "skipping $UM_MOUNTPOINT containing rootfs"
|
||||
#echo "rootfs on dev"
|
||||
else
|
||||
SHARE_DIR="$UM_MOUNTPOINT"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -z "$SHARE_DIR" ]; then
|
||||
logger -p user.notice -t "70-usb-library" -- "Found Share Directory $SHARE_DIR."
|
||||
else
|
||||
logger -p user.notice -t "70-usb-library" -- "did not find /share, /Share, /Piratebox/Share, /USB, or /usb on USB"
|
||||
fi
|
||||
|
||||
|
||||
if [ "$SHARE_DIR" != "" ];then
|
||||
CONTENT_LINK_USB=`basename $UM_MOUNTPOINT | awk '{print toupper($0)}'`
|
||||
CONTENT_LINK="{{ doc_root }}/local_content/$CONTENT_LINK_USB"
|
||||
logger -p user.notice -t "70-usb-library" -- "Creating link to $CONTENT_LINK."
|
||||
ln -s $SHARE_DIR $CONTENT_LINK
|
||||
fi
|
45
roles/usb_lib/templates/mount.d/70-usb-library.j2
Normal file
45
roles/usb_lib/templates/mount.d/70-usb-library.j2
Normal file
|
@ -0,0 +1,45 @@
|
|||
#!/bin/bash
|
||||
# Create symlink in DocumentRoot/content to automounted usb drive
|
||||
#
|
||||
# based on a similar script in the xs-rsync package
|
||||
# by Martin Langhoff <martin@laptop.org>
|
||||
#
|
||||
# and the adaptation for xs-activity-server by Douglas Bagnall
|
||||
# <douglas@paradise.net.nz>
|
||||
#
|
||||
# by Tim Moody tim@timmoody.com
|
||||
|
||||
VERBOSE=yes
|
||||
|
||||
# UM_MOUNTPOINT and UM_DEVICE are documented at: https://github.com/rbrito/usbmount#hook-scripts
|
||||
SHARE_DIR=$UM_MOUNTPOINT
|
||||
if [ -d $UM_MOUNTPOINT/PUBLIC ]; then
|
||||
SHARE_DIR="$UM_MOUNTPOINT/PUBLIC"
|
||||
logger -p user.notice -t "usb_lib (70-usb-library)" -- "Found /PUBLIC on $UM_MOUNTPOINT"
|
||||
else
|
||||
logger -p user.notice -t "usb_lib (70-usb-library)" -- "Did not find /PUBLIC on $UM_MOUNTPOINT"
|
||||
fi
|
||||
|
||||
LIB_DEV=`findmnt /library | grep / | awk '{print $2}' | awk -F '[' '{print $1}'`
|
||||
ROOT_DEV=`findmnt / | grep / | awk '{print $2}'`
|
||||
BOOT_DEV=`findmnt /boot | grep / | awk '{print $2}'`
|
||||
BOOTFW_DEV=`findmnt /boot/firmware | grep / | awk '{print $2}'`
|
||||
if [ "$UM_DEVICE" == "$LIB_DEV" ]; then
|
||||
logger -p user.notice -t "usb_lib (70-usb-library)" -- "Skipping $UM_MOUNTPOINT containing /library"
|
||||
exit
|
||||
elif [ "$UM_DEVICE" == "$ROOT_DEV" ]; then
|
||||
logger -p user.notice -t "usb_lib (70-usb-library)" -- "Skipping $UM_MOUNTPOINT containing rootfs"
|
||||
exit
|
||||
elif [ "$UM_DEVICE" == "$BOOT_DEV" ]; then
|
||||
logger -p user.notice -t "usb_lib (70-usb-library)" -- "Skipping $UM_MOUNTPOINT containing /boot"
|
||||
exit
|
||||
elif [ "$UM_DEVICE" == "$BOOTFW_DEV" ]; then
|
||||
logger -p user.notice -t "usb_lib (70-usb-library)" -- "Skipping $UM_MOUNTPOINT containing /boot/firmware"
|
||||
exit
|
||||
fi
|
||||
|
||||
CONTENT_LINK_USB=`basename $UM_MOUNTPOINT | awk '{print toupper($0)}'`
|
||||
CONTENT_LINK="{{ doc_root }}/local_content/$CONTENT_LINK_USB"
|
||||
logger -p user.notice -t "usb_lib (70-usb-library)" -- "Creating link from $SHARE_DIR to $CONTENT_LINK"
|
||||
ln -s $SHARE_DIR $CONTENT_LINK
|
||||
|
|
@ -12,7 +12,7 @@
|
|||
CONTENT_LINK_USB=`basename $UM_MOUNTPOINT | awk '{print toupper($0)}'`
|
||||
CONTENT_LINK="{{ doc_root }}/local_content/$CONTENT_LINK_USB"
|
||||
|
||||
logger -p user.notice -t "70-usb-library" -- "Attempting to remove link $CONTENT_LINK."
|
||||
logger -p user.notice -t "usb_lib (70-usb-library)" -- "Attempting to remove link $CONTENT_LINK."
|
||||
|
||||
if [ -L $CONTENT_LINK ]; then
|
||||
{% if is_debuntu %}
|
||||
|
@ -20,5 +20,5 @@ if [ -L $CONTENT_LINK ]; then
|
|||
{% else %}
|
||||
/usr/bin/rm -f $CONTENT_LINK
|
||||
{% endif %}
|
||||
logger -p user.notice -t "70-usb-library" -- "$CONTENT_LINK removed."
|
||||
logger -p user.notice -t "usb_lib (70-usb-library)" -- "$CONTENT_LINK removed."
|
||||
fi
|
Loading…
Add table
Add a link
Reference in a new issue