-
Notifications
You must be signed in to change notification settings - Fork 0
/
verify-crypt-disk
60 lines (52 loc) · 1.14 KB
/
verify-crypt-disk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/usr/bin/bash
cwdf=$(realpath $0)
cwdd=$(dirname ${cwdf})
AT=${cwdd}
. ${AT}/constants
f_print_help () {
f_pt 'Verify Crypt Disk Tool'
printf '
Example usage -
'${YELLOW}''$0' sdb'${NORMAL}'
'
}
me=$(whoami)
if [ ! "${me}" == 'root' ]
then
f_perr 'Only root can verify a crypt disk attached to this operating system.'
exit 1
fi
if [ "$1" == '--help' ]
then
f_print_help
exit 0
fi
O_DEV=$1
d=/dev/${O_DEV}
if [ ! -b ${d} ] || [ "${O_DEV}" == '' ]
then
f_print_help
f_perr 'You must specify a block device/partition path.'
ls /dev/sd*
echo 'Example - '$0' sdb'
exit 1
fi
E='sudo -r sysadm_r'
if [ "${me}" == 'root' ]; then E=''; fi
which smartctl > /dev/null
if [ $? -eq 1 ]
then
${E} apt install smartmontools
fi
choice=''
while [ ! "${choice}" == 'C' ]
do
${E} smartctl --info ${d}
${E} smartctl --health ${d} | grep "overall-health"
${E} lsblk --output "NAME,SIZE,FSTYPE,MOUNTPOINT,LABEL" ${d}
${E} udisksctl status | grep ${O_DEV}
read -p '(C)ontinue, or (Q)uit: ' choice
choice=$(echo ${choice} | tr a-z A-Z)
if [ "${choice}" == 'Q' ]; then exit 0; fi
done
${E} cryptsetup luksDump ${d} | less