Я створив зашифрований контейнер через
#!/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