2021-03-06 14:39:16 -05:00

71 lines
1.3 KiB
Bash
Executable File

#! /bin/bash
rounds=3
positional=()
while [[ $# -gt 0 ]]; do
argument="$1"
case $argument in
-h|--help)
printf "%s\n" \
"Usage: secure-erase.sh [options]" \
"" \
"Options:" \
" --rounds <rounds> overwrite n times (defauls to 3)" \
" --zero overwrite with zeros obfuscating secure erase" \
" -h, --help display help for command"
exit 0
;;
--rounds)
rounds=$2
shift
shift
;;
--zero)
zero=true
shift
;;
*)
positional+=("$1")
shift
;;
esac
done
set -- "${positional[@]}"
red=$(tput setaf 1)
normal=$(tput sgr0)
dev="/dev/sda1"
tput reset
waitForUsbThumbDrive () {
if [ ! -e $dev ]; then
printf "Insert USB flash drive and press enter"
read -r confirmation
waitForUsbThumbDrive
fi
}
waitForUsbThumbDrive
printf "$red%s$normal\n" "Secure erase USB flash drive? (y or n)? "
read -r answer
if [ "$answer" = "y" ]; then
for round in $(seq 1 1 $rounds); do
printf "%s\n" "Overwriting with random data… (round $round of $rounds)"
sudo dd bs=1M if=/dev/urandom of=$dev
done
if [ "$zero" = true ]; then
printf "%s\n" "Overwriting with zeros…"
sudo dd bs=1M if=/dev/zero of=$dev
fi
else
exit 0
fi
printf "%s\n" "Done"