just check the uplink
This commit is contained in:
26
bash/ethlnkchk
Executable file
26
bash/ethlnkchk
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ "$( /usr/bin/id --user )" -ne 0 ] ; then
|
||||||
|
printf "U have to be root\\!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -x "/sbin/ethtool" ] ; then
|
||||||
|
printf "U have to install ethtool first\\!"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
ETH="eth0"
|
||||||
|
CNT=0
|
||||||
|
|
||||||
|
while true ; do
|
||||||
|
if ! /sbin/ethtool "${ETH}" 2>/dev/null | /bin/grep "Link detected: yes" 1>/dev/null ; then
|
||||||
|
(( CNT++ ))
|
||||||
|
else
|
||||||
|
CNT=0
|
||||||
|
fi
|
||||||
|
if [ "${CNT}" -gt 6 ] ; then /home/pi/bin/sesame close ; fi
|
||||||
|
sleep 6
|
||||||
|
done
|
||||||
|
|
||||||
|
exit 0
|
101
bash/sesame
Normal file
101
bash/sesame
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# DESCRIPTION:
|
||||||
|
#
|
||||||
|
# Open and mount dm_crypt container the easy way.
|
||||||
|
|
||||||
|
|
||||||
|
# USAGE:
|
||||||
|
#
|
||||||
|
# sesame open
|
||||||
|
# or
|
||||||
|
# sesame close
|
||||||
|
|
||||||
|
|
||||||
|
# PREPARATIONS:
|
||||||
|
#
|
||||||
|
# cd
|
||||||
|
# dd if=/dev/urandom of=./secrets.dd bs=4096 count=65536
|
||||||
|
# sudo aptitude install cryptsetup
|
||||||
|
# sudo losetup /dev/loop0 ./secrets.dd
|
||||||
|
# sudo cryptsetup luksFormat /dev/loop0
|
||||||
|
# sudo cryptsetup luksOpen /dev/loop0 ./secrets
|
||||||
|
# sudo mkfs.ext4 -L secrets /dev/mapper/secrets
|
||||||
|
# mkdir secrets
|
||||||
|
# sudo mount /dev/mapper/secrets ./secrets
|
||||||
|
# sudo chown -R pi:pi ./secrets
|
||||||
|
# touch ./secrets/test
|
||||||
|
# sudo umount /dev/mapper/secrets
|
||||||
|
# sudo cryptsetup luksClose secrets
|
||||||
|
# sudo losetup -d /dev/loop0
|
||||||
|
|
||||||
|
|
||||||
|
readonly NAME="secrets"
|
||||||
|
readonly CONTAINER="/home/pi/${NAME}.dd"
|
||||||
|
readonly MOUNTPOINT="/home/pi/${NAME}"
|
||||||
|
|
||||||
|
case "${1}" in
|
||||||
|
open)
|
||||||
|
if [ ! -f "${CONTAINER}" ] ; then
|
||||||
|
printf "ERROR: container file is missing - EXIT!\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! losetup -a | grep -F "${CONTAINER}" > /dev/null 2>&1 ; then
|
||||||
|
sudo losetup $( losetup -f ) "${CONTAINER}"
|
||||||
|
else
|
||||||
|
printf "NOTICE: the container has already been looped.\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
readonly LOOPDEVICE="$( losetup -a | grep -F "${CONTAINER}" | cut -d ":" -f 1 )"
|
||||||
|
|
||||||
|
if ! sudo cryptsetup status "${NAME}" | grep -F "/dev/mapper/${NAME} is active" > /dev/null 2>&1 ; then
|
||||||
|
sudo cryptsetup luksOpen "${LOOPDEVICE}" "${NAME}"
|
||||||
|
else
|
||||||
|
printf "NOTICE: ${CONTAINER} has already been opened.\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d "${MOUNTPOINT}" ] ; then
|
||||||
|
mkdir "${MOUNTPOINT}"
|
||||||
|
printf "NOTICE: I have created the mountpoint for you.\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! grep "/dev/mapper/${NAME}" /proc/mounts > /dev/null 2>&1 ; then
|
||||||
|
sudo mount "/dev/mapper/${NAME}" "${NAME}"
|
||||||
|
else
|
||||||
|
printf "NOTICE: open container has already been mounted.\n"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
close)
|
||||||
|
if grep "/dev/mapper/${NAME}" /proc/mounts > /dev/null 2>&1 ; then
|
||||||
|
sudo umount "/dev/mapper/${NAME}" 2> /dev/null
|
||||||
|
if [ "${?}" -ne 0 ] ; then
|
||||||
|
printf "ERROR: container could not be unmounted - EXIT!\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
printf "NOTICE: open container has not been mounted.\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if sudo cryptsetup status "${NAME}" | grep -F "/dev/mapper/${NAME} is active" > /dev/null 2>&1 ; then
|
||||||
|
sudo cryptsetup luksClose "${NAME}"
|
||||||
|
else
|
||||||
|
printf "NOTICE: ${CONTAINER} has not been opened.\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
readonly LOOPDEVICE="$( losetup -a | grep -F "${CONTAINER}" | cut -d ":" -f 1 )"
|
||||||
|
|
||||||
|
if [ -n "${LOOPDEVICE}" ] ; then
|
||||||
|
sudo losetup -d "${LOOPDEVICE}"
|
||||||
|
else
|
||||||
|
printf "NOTICE: the container has not been looped.\n"
|
||||||
|
fi
|
||||||
|
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
printf "ERROR: I do not understand you - EXIT!\n"
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
Reference in New Issue
Block a user