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

Я нашел это интересное учебное руководство на блоге flossstuff.

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

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

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

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

Таким образом, мой вопрос, существует ли опция создать файловую систему, как зашифровано с начала? Я использовал эти команды:

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

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.

15
задан 30 November 2017 в 01:53

3 ответа

Можно использовать cryptmount зашифровать файловую систему, также если файловая система находится на файле.

cryptmount страница руководства имеет очень простое и подробное объяснение, что я сообщаю (измененный) здесь, и она действительно упоминает явно основанную на файле файловую систему.

  • Шаг 1
    Включите запись /etc/cryptmount/cmtab, следующим образом:

    mycrypt {
        dev=/media/data/mycrypt dir=/home/enzotib/mycrypt
        fstype=ext4 mountoptions=defaults cipher=twofish
        keyfile=/etc/cryptmount/mycrypt.key
        keyformat=builtin
    }
    

    где /media/data/mycrypt файл поддержки, созданный dd и /home/enzotib/mycrypt желаемая точка монтирования.

  • Шаг 2
    Генерируйте секретный ключ расшифровки

    sudo cryptmount --generate-key 32 mycrypt
    
  • Шаг 3
    Выполните следующую команду

    sudo cryptmount --prepare mycrypt
    

    Вас затем попросят пароля, используемого при установке ключа

  • Шаг 4
    Создайте файловую систему

    sudo mkfs.ext4 /dev/mapper/mycrypt
    
  • Шаг 5
    Выполниться

    sudo cryptmount --release mycrypt
    
  • Шаг 6
    Теперь смонтируйте файловую систему

    mkdir /home/enzotib/mycrypt
    cryptmount -m mycrypt
    

    затем размонтируйте его

    cryptmount -u mycrypt
    

Кроме того, если Вам нужен к склепу каталог, encfs может стоить для учета.

8
ответ дан 23 November 2019 в 02:47

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

3
ответ дан 23 November 2019 в 02:47

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

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

fallocate -l 128M /path/to/file

2. Создайте LUKS (Linux Объединенная Ключевая Установка) раздел в файле с помощью инструментов dm-склепа:

cryptsetup -y luksFormat /path/to/file

Можно проверить, что файл шифруется контейнер:

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

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

cryptsetup luksOpen /path/to/file data

data имя тома картопостроителя устройства. Можно выбрать другое имя.

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

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

mkfs.ext4 /dev/mapper/data

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

mkdir /path/to/mount

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

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

7. Размонтировать файловую систему и закрыть устройство LUKS:

umount /path/to/mount
cryptsetup luksClose data

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

Эта статья была очень полезна мне.

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

1. Размонтирование и близкое устройство LUKS (см. шаг 7 в вышеупомянутом списке).

2. Размер файла контейнера увеличения:

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

3. Откройте устройство LUKS.

cryptsetup luksOpen /path/to/file data

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

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

Таким образом, Вы можете просто:

cryptsetup resize data

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

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

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

mount /dev/mapper/data /path/to/mount
6
ответ дан 23 November 2019 в 02:47

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

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