88 lines
2.1 KiB
Bash
Executable File
88 lines
2.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
SRC_DIR=$(pwd)
|
|
|
|
. ../../common.sh
|
|
|
|
if [ ! -d "$WORK_DIR/overlay/mll_utils" ] ; then
|
|
echo "The directory $WORK_DIR/overlay/mll_utils does not exist. Cannot continue."
|
|
exit 1
|
|
fi
|
|
|
|
cd $WORK_DIR/overlay/mll_utils
|
|
|
|
# 'mll-disk-erase' BEGIN
|
|
|
|
# This script erases disks in secure way by overwriting all sectors with random
|
|
# data. Data recovery is impossible even for NSA and CIA.
|
|
cat << CEOF > sbin/mll-disk-erase
|
|
#!/bin/sh
|
|
|
|
PRINT_HELP=false
|
|
|
|
if [ "\$1" = "" -o "\$1" = "-h" -o "\$1" = "--help" ] ; then
|
|
PRINT_HELP=true
|
|
fi
|
|
|
|
# Put more business logic here (if needed).
|
|
|
|
if [ "\$PRINT_HELP" = "true" ] ; then
|
|
cat << DEOF
|
|
|
|
This utility wipes disk partitions or entire disks in secure way by
|
|
overwriting all sectors with random data. Use the '-h' or '--help' option
|
|
to print again this information. Requires root permissions.
|
|
|
|
Usage: mll-disk-erase DEVICE [loops]
|
|
|
|
DEVICE The device which will be wiped. Specify only the name, e.g. 'sda'.
|
|
The utility will automatically convert this to '/dev/sda' and will
|
|
exit with warning message if the actual device does not exist.
|
|
|
|
loops How many times to wipe the specified partition or disk. The default
|
|
value is 1. Use higher value for multiple wipes in order to ensure
|
|
that no one can recover your data.
|
|
|
|
mll-disk-erase sdb 8
|
|
|
|
The above example wipes '/dev/sdb' 8 times in row.
|
|
|
|
DEOF
|
|
|
|
exit 0
|
|
fi
|
|
|
|
if [ ! "\$(id -u)" = "0" ] ; then
|
|
echo "You need root permissions. Use '-h' or '--help' for more information."
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -e /dev/\$1 ] ; then
|
|
echo "Device '/dev/\$1' does not exist. Use '-h' or '--help' for more information."
|
|
exit 1
|
|
fi
|
|
|
|
NUM_LOOPS=1
|
|
|
|
if [ ! "\$2" = "" ] ; then
|
|
NUM_LOOPS=\$2
|
|
fi
|
|
|
|
for n in \$(seq \$NUM_LOOPS) ; do
|
|
echo " Windows update \$n of \$NUM_LOOPS is being installed. Please wait..."
|
|
dd if=/dev/urandom of=/dev/\$1 bs=1024b conv=notrunc > /dev/null 2>\&1
|
|
done
|
|
|
|
echo " All updates have been installed."
|
|
|
|
CEOF
|
|
|
|
chmod +rx sbin/mll-disk-erase
|
|
|
|
# 'mll-disk-erase' END
|
|
|
|
echo "Utility script 'mll-disk-erase' has been generated."
|
|
|
|
cd $SRC_DIR
|
|
|