Портативная Ubuntu с возможностью создавать, монтировать и удалять без следов зашифрованные виртуальные диски на любом жестком диске
Я буду в отпуске, а там, где я иду, в моей комнате будет компьютер. Я не знаю, какой тип компьютера, сколько лет, какие характеристики, ничего. Но, вероятно, на нем будет установлена Windows, и, вероятно, я смогу войти в систему как пользователь с ограниченными правами.
Обе вещи мне не нравятся.
Поэтому я подумал, что смогу взять с собой свой портативный Ubuntu на загрузочную флешку объемом 8 ГБ. Но вы видите, что 8 ГБ это не очень много, и USB также не самая быстрая вещь в мире, особенно если компьютер может иметь только 2,0 порта.
Поэтому я был бы рад, если бы мог перенести обмен и, возможно, даже некоторые данные или системные части на жесткий диск этого компьютера, но я не хочу каким-либо образом изменять существующую систему, поэтому перераспределение разделов не вариант.
Я думаю, что лучше создать файл образа виртуальной файловой системы внутри существующей файловой системы и смонтировать его. Это должно быть зашифровано, хотя.
И нет, простого живого USB недостаточно, по крайней мере, он должен быть постоянным. Тем не менее, функция использования жесткого диска также должна быть там.
Итак, как мне лучше всего это настроить, систему, установленную на USB-накопителе, которая может создавать и монтировать зашифрованный виртуальный диск в существующей файловой системе без необратимого изменения? Подробные пошаговые руководства приветствуются там, где установка отличается от обычной настольной установки.
1 ответ
Обычные файловые системы
Создайте файл в существующей файловой системе на внутреннем диске компьютера (возможно, NTFS) для каждого (зашифрованного) раздела, который вы хотите создать, при условии, что внутренняя файловая система смонтирована в
/mnt/internal-drive
и 1 ГиБ в качестве желаемого размера полученного раздела:head -c 1G < /dev/zero > /mnt/internal-drive/some/arbitrary/path/partition.img
Если вы хотите хороший индикатор прогресса, вы можете использовать
pv
:head -c 1G < /dev/zero | pv -s 1g -pterab > .../partition.img
Если вы хотите создать раздел на основе разреженного файла, используйте
truncate(1)
с--size
(Стенограмма:-s
) возможность указать размер в байтах:truncate -s 1073741824 .../partition.img
Разреженные файлы создаются быстро и занимают столько места, сколько необходимо в базовых файловых системах, но доступ к ним может стать медленным из-за фрагментации. Некоторые старые файловые системы, такие как FAT, не поддерживают разреженные файлы. NTFS делает.
Инициализируйте желаемую файловую систему в только что созданном файле, например
ext4
:mkfs -t ext4 [FS-OPTIONS...] .../partition.img
Инициализатор файловой системы может попросить вас подтвердить создание файловой системы внутри обычного файла или даже отказаться от этого, если вы не установите
--force
флаг или аналог.Создайте петлевое устройство на основе файла раздела и смонтируйте его. Разумно последние версии
mount(8)
, может сделать это в один шаг сloop
опция:mount -t ext4 -o defaults,loop[,FS-OPTIONS...] .../partition.img /mnt/my-partition
Наслаждайтесь!
Поменять разделы
Как шаг 1 выше, но вы, вероятно, хотите избежать разреженного варианта.
Инициализируйте файл подкачки:
mkswap /mnt/internal-drive/some/arbitrary/path/swap.img
Поменяйте-на:
swapon [OPTIONS...] /mnt/internal-drive/some/arbitrary/path/swap.img
Блочное шифрование
Как и в предыдущих разделах, обычные файлы можно использовать почти как блочные устройства. Так что вы можете использовать cryptsetup(8)
, crypttab(5)
, cryptdisks_start(8)
а также cryptdisks_stop(8)
как обычно, так как они автоматически создают устройства петли для обычных файлов:
Как шаг 1 в приведенных выше разделах.
Если вы хотите использовать LUKS для управления вашим зашифрованным разделом, инициализируйте его:
cryptsetup luksFormat .../partition.img [OPTIONS...]
Откройте раздел с выбранным вами типом шифрования и опциями:
cryptsetup open .../partition.img <NAME> --type <DEVICE_TYPE> [OPTIONS...]
куда
<NAME>
имя сопоставления dm-crypt, создаваемого для раздела и<DEVICE_TYPE>
являетсяluks
, если вы создали оболочку LUKS на шаге 2, илиplain
для простого раздела dm-crypt. (cryptsetup
поддерживает другие типы устройств, но они либо унаследованы, либо совместимы с TrueCrypt.)Зашифрованный раздел теперь доступен на
/dev/mapper/<NAME>
,Вы можете создавать и монтировать файловые системы на нем, как на любом блочном устройстве, как описано в приведенных выше разделах, начиная с шага 2, или
вы можете создать таблицу разделов внутри нее с помощью вашего любимого менеджера разделов, если вы хотите обернуть несколько разделов внутри нее, не предоставляя одну и ту же фразу-пароль несколько раз для них по отдельности:
fdisk /dev/mapper/<NAME>
Попросите ядро перечитать таблицу разделов и заново заполнить файлы узла устройства в
/dev
:partprobe /dev/mapper/<NAME>
Теперь у вас есть отдельные разделы на
/dev/mapper/<NAME>1
и так далее.
Монтаж при загрузке
Вы можете создать fstab
(а также crypttab
) записи для разделов тезисов, как обычно, но с loop
вариант как выше. Пространства подкачки на основе файлов не требуют специальных параметров монтирования. Вам просто нужно позаботиться о том, чтобы смонтировать базовую файловую систему на внутреннем диске перед этими новыми разделами. Е. г.:
LABEL=Windows /mnt/internal-drive ntfs defaults 0 2
/mnt/internal-drive/some/arbitrary/path/home.img /home ext4 defaults,loop 0 3
/mnt/internal-drive/some/arbitrary/path/swap.bin none swap sw 0 0
Уничтожение файловой системы впоследствии
Короткая версия: не надо! Используйте шифрование и уничтожьте ключ.
Длинная версия: перезапись или "измельчение" отдельных файлов работает при условии, что файл никогда не занимал другие секторы диска, чем в настоящее время (например, потому что файловая система или один из ее инструментов обслуживания (например, де-фрагментация) решили переместить их) и что никакие данные файла никогда не просачиваются в раздел метаданных файловой системы (например, как во время журналирования). Эти предположения могут выполняться в большинстве случаев для старых, не журналируемых файловых систем (FAT, ext2). Для NTFS, ext3/4 и HFS+ они не держатся надежно, за исключением редких, непрактичных / нереальных условий.
Вы можете зайти так далеко, чтобы перезаписать все нераспределенные сектора в дополнение к сектору, занятому в настоящее время файлом образа диска. от Microsoft cipher.exe
может сделать это для NTFS, которая предположительно перехватывает почти все сектора, которые все еще могут содержать остатки вашего драгоценного образа файловой системы.