blob: e1efc5080ade8623fb172b6ebc1923c8263e6409 (
plain)
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
|
#!/bin/bash
i=1
maxWait=60
while [ $i -le $(sed "s/#.*$//" /etc/crypttab | grep -vc '^ *$') ]; do
s="$(sed "s/#.*$//" /etc/crypttab | grep -v '^ *$' | tail -n$i | head -n1 | sed "s/ */ /g")"
name=$(echo $s | awk '{print $1}')
device=$(echo $s | awk '{print $2}')
key=$(echo $s | awk '{print $3}')
while [ ${maxWait} -gt 0 ] && [ ! -b "${device}" ]; do
sleep 1
maxWait=$[${maxWait}-1]
done
if [ "$1" == "-u" ]; then
if ! /usr/sbin/cryptsetup luksClose "${name}"; then
>&2 echo "FEHLER: cryptsetup luksClose $name"
exit 1
fi
else
if ! /usr/sbin/cryptsetup luksOpen "${device}" "${name}" --key-file "${key}"; then
>&2 echo "FEHLER: cryptsetup luksOpen ${device} ${name} --key-file ${key}"
exit 1
fi
fi
i=$((i+1))
done
|