Шифрование LUKS на уже установленном Linux.
Имеем Linux Mint Cinnamon Edition v21.3
система уже установлена и нужно добавить шифрование домашнего раздела.
Как показала практика в моем случе не было LVM и это усложнило ситуацию. С LVM мы просто отрезаем кусок от рабочей системы без каких либо сложностей, я опишу свою ситуацию.
Разбивка диска
1 Делаем бэкап своих данных на внешний носитель.
2 Грузимся с флешки в Linux
3 Проверяем диск на ошибки sudo e2fsck -f /dev/sda1
4 Теперь надо решить, сколько оставляем под систему и сколько под свой раздел. я выделил под систему 100GB, а себе забрал все остальное и далее нужно ужать файловую систему и партицию до нужного объема. Но тут есть тонкость, что реально угадать на сколько ужимать и как изменять диск довольно сложно, поэтому я пошел другим путем.
Урезаем размер файловой системы до 80ГБ.
resize2fs /dev/sda2 80G
Заходим в parted
набираем print all
ищем номер нашей партиции и меняем размер уже до 100GB
resizepart 2 100GB
И под конец запускаем еще раз resize2fs /dev/sda2
, но уже без размера. Так fs будет увеличена на максимум, у меня получилось где то 91GB.
Под свои размеры и нужды адаптируйте сами, самое главное смотрите, что бы свободного места было больше чем занимают данные и я бы сделал как минимум на 10% больше диск в parted чем выделил в файловой системе. Ибо на разметку диска уходит довольно много пространства.
5 На этом этапе можно перезагрузиться в рабочую систему. я не стал сильно замарачиваться с консольной програмкой parted ибо он попросил меня начало и конец блока при создании новой партиции и просто поставил gparted и сделал нужную партицию через него.
Шифруем
Следующей командой включаем шифрование на нужном разделе. Сначала она попросит вас удостовериться, что вы этого хотите, а в вашем случе еще раз проверьте верная ли партиция указана и потом введите YES
большими буквами. Ну и конечно пароль, который я надеюсь вы надежно сохраните и запомните...
sudo cryptsetup luksFormat /dev/sda3
Инитим диск
cryptsetup open /dev/sda3 my-crypto-home
Создаем файловую систему
sudo mkfs.ext4 /dev/mapper/my-crypto-home
Далее редактируем файл /etc/crypttab
, где UUID
мы смотрим командой blkid
. Это нужно для того что бы при загрузке системы диск был инициирован и запрошен пароль. Будте внимательны и берите UUID
именно /dev/sda3
, а не /dev/mapper/my-crypto-home
cryptHome UUID=12345678-abcd-1234-5678-1234567890ab none luks,timeout=30
Ну и конечно добавляем в /etc/fstab
, где username
ваше имя или же можете смонтировать например /home
, сразу для всех пользователей.
/dev/mapper/cryptHome /home/username ext4 defaults 0 2
Так же обязательно делаем бэкап заголовка на случай краха и сохраняем его в надежном месте. Иначе есть риск потерять все данные. Как пишут в руководстве, такое случается...
cryptsetup luksHeaderBackup /dev/sda3 --header-backup-file luksHeaderBackup.bin
Для восстановления используем опцию luksHeaderRestore
На конец переходим в init 3
. Переименовываем свой каталог и создаем на его месте пустой. Перезагружаемся, если пароль был запрошен и все прошло, хорошо, переходим в консоль, копируем свои данные уже в зашифрованный диск и запускаем графический сеанс.
Возможные проблемы
Если при загрузке система не грузится и не запрашивает пароль, проверьте верный ли вы ввели UUID
.
Материалы при наприсании статьи
Разбивка диска
https://losst.pro/kak-izmenit-razmer-ext4
LUKS
https://cobertos.com/blog/post/linux-mint-luks-encrypted-user-home-directory
https://askubuntu.com/questions/1335006/what-is-the-recommended-method-to-encrypt-the-home-directory-in-ubuntu-21-04
[ Править ]