Crypto-Filesystem unter Linux für unterwegs

Ein Crypto-FS-Container unter Linux (bei mir SL 10.1) ist in unter 5 Minuten (ok, kommt auf die Größe des Containers an) gemacht.

 

Mein USB-Laufwerk wird unter /media/TREKSTOR/ gemountet.

Bauen des Containers mit 1GB Grösse:
$ su –
# dd if=/dev/urandom of=/media/TREKSTOR/.crypt bs=1024k count=1000
# losetup -v -C 64 -e AES256 /dev/loop3 /media/TREKSTOR/.crypt
# mke2fs /dev/loop3
# tune2fs -c 0 -m 0 /dev/loop3
# mkdir ~/crypt
# mount -t ext2 /dev/loop3 ~/crypt
# install -m 700 -o $user -d ~/crypt/$user
# umount /dev/loop3
# losetup -d /dev/loop3
# exit

Wenn AES256 nicht unterstützt wird kann man „notgedrungen“ auch xor nehmen.

Nutzen des Containers:
$ mkdir ~/crypt
$ sudo /sbin/losetup -v -C 64 -e AES256 /dev/loop3 /media/TREKSTOR/.crypt
$ sudo /bin/mount -t ext2 /dev/loop3 ~/crypt
$ df -h

/dev/loop3            1.0G  0 1.0G  0% /home/sven/crypt


$ cd ~/crypt/$user
~/crypt/$user $

Wobei $user durch den eigenen Usernamen ersetzen möge.
Statt xor kann man, wenn es der Kernel unterstützt (der vanilla-default tuts bei mir nicht), auch AES oder Blowfish, was auch sicherer ist, nehmen.

 

Ein Shellscript zum mounten des Crypto-FS-Containers:
(Vorab muss das USB-Laufwerk natürlich gemountet sein.)

#!/bin/bash
CONTAINER="/media/TREKSTOR/.crypt"
MOUNT="~/crypt"

case "$1" in
mount)
 sudo /sbin/losetup -v -C 64 -e AES256 /dev/loop3 $CONTAINER
 sudo /bin/mount -t ext2 /dev/loop3 $MOUNT
;;
umount)
 sudo /bin/umount /dev/loop3
 sudo /sbin/losetup -d /dev/loop3
;;
*)
echo "Usage: $0 {mount|umount}"
exit 1
;;
esac