Как создать зашифрованную файловую систему внутри файла?

Я нашел этот интересный учебник по блогу flossstuff.

В нем объясняется, как создать пустой файл, отформатировать его как ext4 и установить его как устройство.

I 'd хотел бы знать, может ли он быть создан как зашифрованная файловая система ext4.

Я попытался использовать palimpsest (дисковая утилита, найденная в меню System), чтобы отформатировать уже созданную файловую систему, но она не " t, поскольку он обнаруживает используемую файловую систему.

Если я попытаюсь отключить файловую систему, это не сработает, потому что оно не обнаруживает устройство (поскольку это не настоящее устройство, например, жесткий диск или USB-накопитель).

Итак, мой вопрос в том, есть ли возможность создать файловую систему как зашифрованную с самого начала? Я использовал эти команды:

Создать пустой файл размером 200 Мб:

dd if=/dev/zero of=/path/to/file bs=1M count=200

Сделать его ext4:

mkfs -t ext4 file

Установить его в папку внутри моего дома:

sudo mount -o loop file /path/to/mount_point

Есть ли способ, которым команда mkfs может создать зашифрованную файловую систему ext4 с просьбой о расшифровке пароля?

Я планирую использовать это как способ шифрования файлов внутри Dropbox.

1
задан 30 November 2017 в 12:53

2 ответа

Вы можете использовать команду losetup с параметром -e для создания зашифрованного устройства loop. Подробная информация доступна по адресу http://tldp.org/HOWTO/Cryptoloop-HOWTO/loopdevice-setup.html

3
ответ дан 25 May 2018 в 19:07

Выполните следующие шаги для создания зашифрованного файла с файловой системой внутри:

1. Более быстрый способ создания файла заданного размера:

fallocate -l 128M /path/to/file

1.. Создайте раздел LUKS (Linux Unified Key Setup) в файле, используя инструменты dm-crypt:

cryptsetup -y luksFormat /path/to/file

Вы можете проверить, что файл зашифрован:

/path/to/file: LUKS encrypted file, ver 1 [aes, xts-plain64, sha1] UUID: 7e2af5a1-3fab-43ea-a073-3b9cc6073f00

LUKS Открыть зашифрованный контейнер:

cryptsetup luksOpen /path/to/file data

[ f14] - имя тома устройства. Вы можете выбрать другое имя.

Это открывает устройство LUKS и сопоставляет его с именем, которое мы поставляем, в нашем случае создаем файл в /dev/mapper/data.

4. Создайте файловую систему ext4 на этом устройстве:

mkfs.ext4 /dev/mapper/data

4. Затем создайте точку монтирования:

mkdir /path/to/mount

6. И установите там устройство:

mount /dev/mapper/data /path/to/mount

6. Чтобы отключить файловую систему и закрыть устройство LUKS:

umount /path/to/mount
cryptsetup luksClose data

Теперь вы зашифровали контейнер LUKS с ext4 файловая система внутри. Если вы хотите использовать его, просто повторите шаги 3 и 6. Когда вы закончите шаг 7 вызова.

Эта статья очень помогла мне.

Также в один прекрасный день ваш контейнер будет запущен Из космоса. Предположим, что размер файла зашифрованного контейнера составляет 128 МБ, и мы хотим увеличить его размер до 512 МБ. Чтобы увеличить его пропускную способность, выполните следующие действия:

увеличьте его емкость Отключите и закройте устройство LUKS (см. Шаг 7 в приведенном выше списке).

2. Увеличить размер файла контейнера:

 dd if=/dev/zero of=/path/to/file bs=384M count=1 oflag=append conv=notrunc

2. Открыть устройство LUKS.

cryptsetup luksOpen /path/to/file data

4. Измените размер устройства LUKS в соответствии с размером файла контейнера. Из справочной страницы:

Если --size (в секторах) не указано, используется размер базового блочного устройства.

Итак, вы можете просто:

cryptsetup resize data

4. Затем измените размер файловой системы ext4:

e2fsck -f /dev/mapper/data
resize2fs /dev/mapper/data

6. Теперь вы можете подключить файловую систему обратно:

mount /dev/mapper/data /path/to/mount
3
ответ дан 25 May 2018 в 19:07
  • 1
    Я думаю, что этот ответ - лучший и самый последний ответ. Его следует выбрать как правильный ответ! – yurtesen 6 October 2017 в 00:55

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

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