暗号化されたコンテナを作成しました
#!/bin/bash
dd if=/dev/zero of=$1 bs=1 count=0 seek=$2
MAPPER=$(mktemp -up /dev/mapper)
LOOPDEV=$(losetup --find --show $1)
cryptsetup luksFormat $LOOPDEV
cryptsetup luksOpen $LOOPDEV $(basename $MAPPER)
mkfs.ext3 $MAPPER
cryptsetup luksClose $MAPPER
losetup -d $LOOPDEV
つまり、たとえばcontainer
このスクリプトに指定されたファイルには、で暗号化されたext3ファイルシステムが含まれますcryptsetup luksFormat
。
マウントするには、現在別のスクリプトを使用していますdm.mount container /mnt/decrypted
。
#!/bin/bash
set -e
MAPPER=$(mktemp -up /dev/mapper)
LOOPDEV=$(losetup --find --show $1)
cryptsetup luksOpen $LOOPDEV $(basename $MAPPER) || losetup -d $LOOPDEV
mount $MAPPER $2 || (
cryptsetup luksClose $MAPPER
losetup -d $LOOPDEV
)
それをアンマウントするにはdm.umount /mnt/decrypted
:
#!/bin/bash
set -e
MAPPER=$(basename $(mount | grep $1 | gawk ' { print $1 } '))
LOOPDEV=$(cryptsetup status $MAPPER | grep device | gawk ' { print $2 } ')
umount $1
cryptsetup luksClose $MAPPER
losetup -d $LOOPDEV
多くの冗長性があり、ループデバイスとマッパーを手動で取得しますが、どちらも匿名のままでかまいません。単にような何かする方法があるmount -o luks ~/container /mnt/decrypted
(パスフレーズの入力を求める)とumount /mnt/decrypted
の代わりに簡単な方法は?
編集基本的に上記のスクリプトに満足しています(ただし、エラーチェックは改善される可能性があります...)。
作成したスクリプトを使用する場合
-o luks=~/container
と同様に、マウントオプションをどのように実装できます-o loop ~/loopfile
か?
これは、書き直さずに実現できますmount
か?または、代わりに-t luks -o loop ~/container
実装できますか?
mount