ЛУКС и петлевое устройство

Я прочитал много уроков по LUKS / dm-crypt / cryptsetup, в частности, о том, как создать зашифрованный файловый контейнер.

Первый шаг - создать файл с dd.

Затем некоторые учебники отображают файл в /dev/loop0 и форматируют устройство петли, другие учебники форматируют файл напрямую, не отображая его в устройстве петли.

Мой вопрос: нужен ли шаг петлевого устройства? В чем разница?

3
задан 20 March 2015 в 11:41

2 ответа

Если Вы не будете управлять циклическим устройством сами, [то 110] автоматически настроит циклическое устройство и закроет его, когда оно больше не необходимо. Таким образом, нет никакого различия между двумя; cryptsetup всегда работы над циклическим устройством. См. man cryptsetup:

ПРИМЕЧАНИЯ ПО ИСПОЛЬЗОВАНИЮ УСТРОЙСТВА ЗАКОЛЬЦОВЫВАНИЯ

Cryptsetup обычно используется непосредственно на блочном устройстве (раздел диска или объем LVM). Однако, если аргументом устройства является файл, cryptsetup пытается выделить устройство закольцовывания и отобразить его в этот файл. Этот режим требует ядра Linux 2.6.25 или более свежий, который поддерживает цикл автоясный флаг (циклическое устройство очищено на последнем завершении автоматически). Конечно, можно всегда отображать файл на циклическое устройство вручную. Посмотрите cryptsetup FAQ для примера.

, Когда отображение устройства активно, Вы видите, что цикл поддерживает файл в выводе команды состояния. Также см. losetup (8).

2
ответ дан 20 March 2015 в 11:41

Можно использовать dd или fallocate (или head или несколько других инструментов) для создания файла для действия как контейнер. Затем, поскольку Vincent Yu заявил cryptsetup может обработать установку/разрушение цикла для Вас.

fallocate -l 100M mypath/filecontainer
sudo losetup # Debug for demonstration, not necessary in a real script
sudo cryptsetup -y luksFormat mypath/filecontainer
sudo losetup # Debug for demonstration, not necessary in a real script
sudo cryptsetup luksOpen mypath/filecontainer filecontainer
sudo losetup # Debug for demonstration, not necessary in a real script
sudo mkfs -t ext4 /dev/mapper/filecontainer
sync
sudo cryptsetup luksClose filecontainer
sudo losetup # Debug for demonstration, not necessary in a real script

В отладке sudo losetup вывод, отметьте AUTOCLEAR = 1 для filecontainer запись. Вы могли вместо этого сойти с ума с loopdev=$(sudo losetup -f); mount -o loop <etc>, но разрешение cryptsetup дескриптор это - более хороший ПУТЬ.

Ключ - Вы, хотят удостовериться, что Вы СНАЧАЛА используете cryptsetup luksOpen containerfile mappedname смонтировать его к /dev/mapper/mappedname по умолчанию (можно дать ему полный путь, запускающийся с / и это смонтируется там вместо этого, что я верю и ЗАТЕМ форматирую /dev/mapper/mappedname будьте нацелены и удостоверяется, что Вы НЕ затрагиваете filecontainer непосредственно, иначе Вы обходите механизм шифрования и просто создаете незашифрованный петлевой файл.

0
ответ дан 18 November 2019 в 04:58

Другие вопросы по тегам:

Похожие вопросы: