Могу ли я отключить полное шифрование диска?

Я недавно установил Ubuntu 12.10, и для загрузки требуется пароль (я установил его с зашифрованной файловой системой).

Нужно ли переустанавливать, чтобы перейти на стандартную незашифрованную файловую систему?

41
задан 29.02.2020, 10:05

3 ответа

Если Ubuntu запрашивает парольную фразу шифрования во время загрузки (т. Е. В текстовой консоли перед отображением экрана входа в систему), это указывает на то, что использовался метод полного шифрования диска. (Есть несколько способов сделать это, но я оставлю общий ответ.) Шифрование обрабатывается дополнительным программным уровнем между файловой системой и физическим жестким диском, а не самой файловой системой.

Нет простого метода или инструмента, чтобы отменить это. С некоторыми знаниями о том, как работают системы Linux, это можно сделать. Вам придется переместить всю файловую систему (или все файлы) в другой раздел (с достаточным количеством свободного места) или внешний жесткий диск. Затем удалите зашифрованный контейнер и заново создайте файловую систему без шифрования. Наконец, убедитесь, что новая файловая система правильно распознается загрузчиком и mount -a перед перезагрузкой.

Если возможно, лучше избегать этой трудоемкой и подверженной ошибкам процедуры. Просто сделайте новую установку. Для новых пользователей это самый быстрый и безопасный вариант.

PS: Скорее всего, вы можете изменить кодовую фразу шифрования, возможно, на пустую строку. Тогда для расшифровки требуется только нажать Enter. Может быть, вы можете пойти дальше и подавить (теперь бесполезно) приглашение пароля. Однако это не отключает шифрование. Данные все равно будут зашифрованы, хотя шифрование будет бесполезным, так как ключ можно угадать тривиально.

22
ответ дан 29.02.2020, 10:07
  • 1
    В теории, должен Вы не быть в состоянии сделать что-то как " dd, если =/dev/mapper/sda5_crypt =/dev/sda5 bs=32M"? – Peter Lawrey 29.02.2020, 10:08
  • 2
    @Roy, я думаю, что это будет работать, если и только если следующее верно: 1. dd и базовые драйверы не пишут, пока они не закончили читать каждый блок (существуют, вероятно, флаги и настройки для обеспечения этого), 2. блоки чтения-записи не накладываются, края блоков шифрования (может быть проверен, может включить некоторую математику), 3. важная информация заголовка, необходимая для дешифрования, не перезаписывается перед завершением (проверяют базовый формат шифрования, возможно, обрабатывают от end-start). Я думаю, что это возможно, но нуждалось бы в более тщательной установке и анализе. – Roberto Andrade 29.02.2020, 10:08
1123 Ниже мое решение сработало. Имейте в виду, что я не специалист по Linux, так что это может быть не лучшим решением. В любом случае, не могу найти лучшего.

Перенос установки FDE в незашифрованный раздел

ПРИМЕЧАНИЕ : всякий раз, когда я говорю, я имею в виду

/dev/sda1 - boot partition
/dev/sda5 - encrypted partition
/dev/sda3 - clean non-encrypted EXT4 partition
/dev/sda2 - my newly created swap partition

Копирование данных из зашифрованной корневой файловой системы

Загрузиться с живого CD. Я использовал Ubuntu 13.10 32-битный рабочий стол ISO.

Смонтируйте ваш раздел:

sudo cryptsetup luksOpen /dev/sda5 crypt1

Скопируйте исходные данные в целевой раздел и сохраните dd PID в переменную pid:

sudo dd if=/dev/ubuntu-vg/root of=/dev/sda3 bs=1M & pid=$!

Это будет пропинговать каждый второй процесс dd сигналом USR1. и dd results status:

while sudo kill -USR $pid; do sleep 1; done

Альтернатива мониторингу DD

Если вам не нравится вышеприведенный метод while, вы можете использовать watch. Откройте другое окно терминала и получите PID:

pgrep -l '^dd 

Замените своим идентификатором процесса:

watch kill -USR1 <pid>

Вы должны видеть выходные данные в вашем терминале dd каждые 2 с.

Конфигурирование новой корневой файловой системы и разделов

Когда это будет сделано, вы можете смонтировать свой незашифрованный раздел, чтобы посмотреть, все ли в порядке:

sudo mount /dev/sda3 /mnt

После этого размонтировать ваш раздел: [1133 ]

sudo umount /dev/sda3

Освободить раздел крипты:

sudo cryptsetup luksClose /dev/sda5

Запустить gparted. Удалите свой раздел LUKS (как расширенный, так и логический). Измените размер вашего / dev / sda3 и двигайтесь влево. Создать раздел подкачки.

Примечание. Перемещение / dev / sda3 влево может занять много времени. Для меня это заняло 30 минут на 120GB раздел и SSD диск. Если у вас есть 500 ГБ + жесткий диск, будьте готовы к нескольким часам ожидания. Возможно, вы захотите создать swap перед вашим разделом вместо того, чтобы перемещать ваш /dev/sda3.

Создайте новую файловую систему подкачки в вашем разделе подкачки:

sudo mkswap /dev/sda2 

и сохраните где-нибудь UUID.

Получите UUID вашего корневого раздела:

sudo blkid /dev/sda3

Отредактируйте fstab:

sudo nano /etc/fstab

Удалите или закомментируйте строки оверлеев и tmpfs.

Добавить замену строки на результат blkid:

UUID=<uuid_root> /  ext4 errors=remount-ro 0 1
UUID=<uuid_swap> none swap sw 0 0

Удалить файл:

rm /etc/crypttab

Обновите ваши initramfs, чтобы избежать ошибок вроде «cryptsetup: evms_activate is not available»:

sudo -i
mount /dev/sda3 /mnt
mount -t proc none /mnt/proc
mount -o bind /sys /mnt/sys
mount -o bind /dev /mnt/dev
mount /dev/sda1 /mnt/boot
chroot /mnt /bin/bash
apt-get remove --purge cryptsetup
update-initramfs -u -k all

Заключительные замечания и устранение неполадок

Это сработало для меня, однако есть шанс, что выполнение вышеописанного пошагового руководства может не сработать для вас. До того, как я понял метод update-initramfs, я несколько раз переустанавливал ядро, а также модифицировал grub. Однако это не должно быть дело для вас. Помните, что приведенные выше инструкции могут удалить ваши данные, поэтому будьте осторожны и сделайте BACKUP , ДО , продолжив это.

На всякий случай, если у вас проблемы с ядром (chroot и / boot смонтированы):

uname -r
sudo apt-get install --reinstall linux-image-3.X.Y-ZZ-generic

Конечно, замените linux-image-3.X.Y-ZZ на дату вашего ядра от uname.

или GRUB (вне chroot):

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)

Подробнее: https://help.ubuntu.com/community/Boot-Repair

Хорошо удачи

| awk '{ print $1 }'

Замените своим идентификатором процесса:

watch kill -USR1 <pid>

Вы должны видеть выходные данные в вашем терминале dd каждые 2 с.

Конфигурирование новой корневой файловой системы и разделов

Когда это будет сделано, вы можете смонтировать свой незашифрованный раздел, чтобы посмотреть, все ли в порядке:

sudo mount /dev/sda3 /mnt

После этого размонтировать ваш раздел: [1133 ]

sudo umount /dev/sda3

Освободить раздел крипты:

sudo cryptsetup luksClose /dev/sda5

Запустить gparted. Удалите свой раздел LUKS (как расширенный, так и логический). Измените размер вашего / dev / sda3 и двигайтесь влево. Создать раздел подкачки.

Примечание. Перемещение / dev / sda3 влево может занять много времени. Для меня это заняло 30 минут на 120GB раздел и SSD диск. Если у вас есть 500 ГБ + жесткий диск, будьте готовы к нескольким часам ожидания. Возможно, вы захотите создать swap перед вашим разделом вместо того, чтобы перемещать ваш /dev/sda3.

Создайте новую файловую систему подкачки в вашем разделе подкачки:

sudo mkswap /dev/sda2 

и сохраните где-нибудь UUID.

Получите UUID вашего корневого раздела:

sudo blkid /dev/sda3

Отредактируйте fstab:

sudo nano /etc/fstab

Удалите или закомментируйте строки оверлеев и tmpfs.

Добавить замену строки на результат blkid:

UUID=<uuid_root> /  ext4 errors=remount-ro 0 1
UUID=<uuid_swap> none swap sw 0 0

Удалить файл:

rm /etc/crypttab

Обновите ваши initramfs, чтобы избежать ошибок вроде «cryptsetup: evms_activate is not available»:

sudo -i
mount /dev/sda3 /mnt
mount -t proc none /mnt/proc
mount -o bind /sys /mnt/sys
mount -o bind /dev /mnt/dev
mount /dev/sda1 /mnt/boot
chroot /mnt /bin/bash
apt-get remove --purge cryptsetup
update-initramfs -u -k all

Заключительные замечания и устранение неполадок

Это сработало для меня, однако есть шанс, что выполнение вышеописанного пошагового руководства может не сработать для вас. До того, как я понял метод update-initramfs, я несколько раз переустанавливал ядро, а также модифицировал grub. Однако это не должно быть дело для вас. Помните, что приведенные выше инструкции могут удалить ваши данные, поэтому будьте осторожны и сделайте BACKUP , ДО , продолжив это.

На всякий случай, если у вас проблемы с ядром (chroot и / boot смонтированы):

uname -r
sudo apt-get install --reinstall linux-image-3.X.Y-ZZ-generic

Конечно, замените linux-image-3.X.Y-ZZ на дату вашего ядра от uname.

или GRUB (вне chroot):

sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && (boot-repair &)

Подробнее: https://help.ubuntu.com/community/Boot-Repair

Хорошо удачи

20
ответ дан 29.02.2020, 10:06

Если все в порядке, чтобы сохранить шифрование, но отключить запрос пароля, гораздо более простой подход - просто установить тривиальный пароль, такой как «пароль», а затем сохранить этот тривиальный пароль в initramfs в открытом тексте. Отключить пароль шифрования LUKS .

По сути, добавьте скрипт-ловушку, который, в свою очередь, добавляет «ключ скрипта» к initramfs. Обычно эти сценарии используются для получения пароля через Bletooth, с USB-накопителя и т. Д., Но в этом случае просто заставьте его напечатать тривиальный пароль.

9
ответ дан 29.02.2020, 10:07

Теги

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