diff --git a/door.sh b/door.sh new file mode 100755 index 0000000..d78b2e8 --- /dev/null +++ b/door.sh @@ -0,0 +1,36 @@ +#! /bin/sh + +cd /etc/door/ +export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + +OPEN_INDICATOR=/tmp/door_status_open +CLOSED_INDICATOR=/tmp/door_status_closed + +./door_verify.sh +STATUS=$? +if [ $STATUS -eq 0 ]; then + echo "opening door" + if [ -f $OPEN_INDICATOR ]; then + if [ $(( $(date +%s)-$(stat -c %X $OPEN_INDICATOR) )) -lt 15 ]; then + echo "please wait at least 15 seconds befor a second run of this script" >&2 + exit 1 + fi + echo "closing door" + ./door_lock.sh close + rm $OPEN_INDICATOR + touch $CLOSED_INDICATOR + else + if [ $(( $(date +%s)-$(stat -c %X $CLOSED_INDICATOR) )) -lt 15 ]; then + echo "please wait at least 15 seconds befor a second run of this script" >&2 + exit 1 + fi + echo "opening door" + ./door_lock.sh open + rm $CLOSED_INDICATOR + touch $OPEN_INDICATOR + fi + exit 0 +else + echo "the lock won't move" >&2 + exit 1 +fi diff --git a/etc_udev_rules.d_92-yubikey.rules b/etc_udev_rules.d_92-yubikey.rules new file mode 100644 index 0000000..812f95a --- /dev/null +++ b/etc_udev_rules.d_92-yubikey.rules @@ -0,0 +1 @@ +ACTION=="add", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0010", RUN+="/etc/door/door.sh"