Skip to content

Instantly share code, notes, and snippets.

@Two9A

Two9A/disklist Secret

Last active June 21, 2016 15:28
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Two9A/f266b75513e3b2564e46 to your computer and use it in GitHub Desktop.
Save Two9A/f266b75513e3b2564e46 to your computer and use it in GitHub Desktop.
Rebuilding the vault
/dev/loop1 /dev/loop2 /dev/loop3 missing
/dev/loop1 /dev/loop2 missing /dev/loop3
/dev/loop1 /dev/loop3 /dev/loop2 missing
/dev/loop1 /dev/loop3 missing /dev/loop2
/dev/loop1 missing /dev/loop2 /dev/loop3
/dev/loop1 missing /dev/loop3 /dev/loop2
/dev/loop2 /dev/loop1 missing /dev/loop3
/dev/loop2 /dev/loop1 /dev/loop3 missing
/dev/loop2 /dev/loop3 missing /dev/loop1
/dev/loop2 /dev/loop3 /dev/loop1 missing
/dev/loop2 missing /dev/loop3 /dev/loop1
/dev/loop2 missing /dev/loop1 /dev/loop3
/dev/loop3 /dev/loop1 /dev/loop2 missing
/dev/loop3 /dev/loop1 missing /dev/loop2
/dev/loop3 /dev/loop2 /dev/loop1 missing
/dev/loop3 /dev/loop2 missing /dev/loop1
/dev/loop3 missing /dev/loop1 /dev/loop2
/dev/loop3 missing /dev/loop2 /dev/loop1
missing /dev/loop1 /dev/loop3 /dev/loop2
missing /dev/loop1 /dev/loop2 /dev/loop3
missing /dev/loop2 /dev/loop3 /dev/loop1
missing /dev/loop2 /dev/loop1 /dev/loop3
missing /dev/loop3 /dev/loop2 /dev/loop1
missing /dev/loop3 /dev/loop1 /dev/loop2
/dev/loop2 /dev/loop3 /dev/loop4 missing
/dev/loop2 /dev/loop3 missing /dev/loop4
/dev/loop2 /dev/loop4 /dev/loop3 missing
/dev/loop2 /dev/loop4 missing /dev/loop3
/dev/loop2 missing /dev/loop3 /dev/loop4
/dev/loop2 missing /dev/loop4 /dev/loop3
/dev/loop3 /dev/loop2 missing /dev/loop4
/dev/loop3 /dev/loop2 /dev/loop4 missing
/dev/loop3 /dev/loop4 missing /dev/loop2
/dev/loop3 /dev/loop4 /dev/loop2 missing
/dev/loop3 missing /dev/loop4 /dev/loop2
/dev/loop3 missing /dev/loop2 /dev/loop4
/dev/loop4 /dev/loop2 /dev/loop3 missing
/dev/loop4 /dev/loop2 missing /dev/loop3
/dev/loop4 /dev/loop3 /dev/loop2 missing
/dev/loop4 /dev/loop3 missing /dev/loop2
/dev/loop4 missing /dev/loop2 /dev/loop3
/dev/loop4 missing /dev/loop3 /dev/loop2
missing /dev/loop2 /dev/loop4 /dev/loop3
missing /dev/loop2 /dev/loop3 /dev/loop4
missing /dev/loop3 /dev/loop4 /dev/loop2
missing /dev/loop3 /dev/loop2 /dev/loop4
missing /dev/loop4 /dev/loop3 /dev/loop2
missing /dev/loop4 /dev/loop2 /dev/loop3
/dev/loop1 /dev/loop3 /dev/loop4 missing
/dev/loop1 /dev/loop3 missing /dev/loop4
/dev/loop1 /dev/loop4 /dev/loop3 missing
/dev/loop1 /dev/loop4 missing /dev/loop3
/dev/loop1 missing /dev/loop3 /dev/loop4
/dev/loop1 missing /dev/loop4 /dev/loop3
/dev/loop3 /dev/loop1 missing /dev/loop4
/dev/loop3 /dev/loop1 /dev/loop4 missing
/dev/loop3 /dev/loop4 missing /dev/loop1
/dev/loop3 /dev/loop4 /dev/loop1 missing
/dev/loop3 missing /dev/loop4 /dev/loop1
/dev/loop3 missing /dev/loop1 /dev/loop4
/dev/loop4 /dev/loop1 /dev/loop3 missing
/dev/loop4 /dev/loop1 missing /dev/loop3
/dev/loop4 /dev/loop3 /dev/loop1 missing
/dev/loop4 /dev/loop3 missing /dev/loop1
/dev/loop4 missing /dev/loop1 /dev/loop3
/dev/loop4 missing /dev/loop3 /dev/loop1
missing /dev/loop1 /dev/loop4 /dev/loop3
missing /dev/loop1 /dev/loop3 /dev/loop4
missing /dev/loop3 /dev/loop4 /dev/loop1
missing /dev/loop3 /dev/loop1 /dev/loop4
missing /dev/loop4 /dev/loop3 /dev/loop1
missing /dev/loop4 /dev/loop1 /dev/loop3
#!/bin/bash
#
# LUKS header dumper for a four-disk RAID5 with unknown layout and chunk size
# Assumes a list of disk-device permutations in "disklist"
#
for LAYOUT in {la,ls,ra,rs}; do
for CHUNK in {64,128,256,512}; do
while read DISKS; do
arr=$(echo $DISKS | tr " " "\n")
lst=""
for DISK in $arr; do
if [ $DISK != "missing" ]; then
echo "Zeroing superblock for $DISK"
mdadm --zero-superblock $DISK
fi
i=$((${#DISK}-1))
lst="$lst${DISK:$i:1}"
done
echo "Creating $LAYOUT $CHUNK-k R5 from $DISKS"
mdadm --create --verbose /dev/md0 --metadata 0.9 --level=5 --raid-devices=4 --layout=$LAYOUT --chunk=$CHUNK $DISKS
cryptsetup luksHeaderBackup --header-backup-file luks.$lst.$LAYOUT.$CHUNK /dev/md0
mdadm --stop /dev/md0
done < disklist
done
done
In a hole in the ground, there lived a hobbit.
In a hole in the ground, there lived a hobbit!
In a hole in the ground, there lived a hobbit
In a hole in the ground there lived a hobbit.
In a hole in the ground there lived a hobbit!
In a hole in the ground there lived a hobbit
in a hole in the ground, there lived a hobbit.
in a hole in the ground, there lived a hobbit!
in a hole in the ground, there lived a hobbit
in a hole in the ground there lived a hobbit.
in a hole in the ground there lived a hobbit!
in a hole in the ground there lived a hobbit
In a hole in the ground, there lived a Hobbit.
In a hole in the ground, there lived a Hobbit!
In a hole in the ground, there lived a Hobbit
In a hole in the ground there lived a Hobbit.
In a hole in the ground there lived a Hobbit!
In a hole in the ground there lived a Hobbit
in a hole in the ground, there lived a Hobbit.
in a hole in the ground, there lived a Hobbit!
in a hole in the ground, there lived a Hobbit
in a hole in the ground there lived a Hobbit.
in a hole in the ground there lived a Hobbit!
in a hole in the ground there lived a Hobbit
#!/bin/bash
while read KEY; do
echo
echo "Trying passphrase: $KEY"
for a in luks.*; do
echo -n "$a: "
echo -n $KEY | cryptsetup luksAddKey $a
done
done < passwords
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment