#!/bin/bash # _____ _ _ # | __|___ ___ ___ _| |___ _____| |_ ___ ___ ___ # | __| _| -_| -_| . | . | | . | . | | -_| # |__| |_| |___|___|___|___|_|_|_|___|___|_|_|___| # # Freedom in the Cloud # # Generate an email alert if a USB driver is inserted or removed # # License # ======= # # Copyright (C) 2017-2018 Bob Mottram # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . PROJECT_NAME=freedombone if [ ! -f /tmp/.upgrading ]; then UPTIME=$(awk -F '.' '{print $1}' < "/proc/uptime") if [ "$UPTIME" -gt 240 ]; then ADMIN_USER=$(grep 'Admin user' /root/${PROJECT_NAME}-completed.txt | awk -F ':' '{print $2}') MY_EMAIL_ADDRESS=${ADMIN_USER}@$(cat /etc/hostname) # Which devices have changed? devices_changed= if [ -f /tmp/.usb_devices ]; then lsusb -v > /tmp/.curr_usb_devices devices_changed=$(diff /tmp/.curr_usb_devices /tmp/.usb_devices) rm /tmp/.curr_usb_devices fi echo -e "USB device connected on ${DEVPATH}\\n\\n${devices_changed}" | mail -s "${PROJECT_NAME} USB canary" "${MY_EMAIL_ADDRESS}" echo "${ACTION}" > /tmp/usb-canary echo "${MY_EMAIL_ADDRESS}" >> /tmp/usb-canary date >> /tmp/usb-canary fi fi lsusb -v > /tmp/.usb_devices