Шифрование Жесткого Диска В Linux При Помощи Dm-crypt

Шифрование Жесткого Диска В Linux При Помощи Dm-crypt

Nett

Итак, создаем файл размером 200 Гб под зашифрованный диск:

sudo truncate -s 200G /home/.eax
sudo chown eax:eax /home/.eax


Создаем loop-устройство:

sudo losetup /dev/loop0 /home/.eax


Инициализируем зашифрованный диск (потребуется дважды ввести пароль):

sudo cryptsetup -h sha256 -c aes-xts-plain64 \
  -s 512 luksFormat /dev/loop0


Открываем зашифрованный диск:

sudo cryptsetup luksOpen /dev/loop0 eax_home


В результате появится устройсто /dev/mapper/eax_home. Создаем на нем ФС

sudo mkfs.ext4 /dev/mapper/eax_home


Монтируем зашифрованный диск:

sudo mount /dev/mapper/eax_home /mnt


Меняем права на файловой системе:

sudo chown -R eax:eax /mnt


Копируем содержимое нашего домашнего каталога. Затем отмонтируем зашифрованный диск:

sudo umount /mnt


Закрываем зашифрованный диск:

sudo cryptsetup luksClose eax_home


Отсоединяем loop-устройство:

sudo losetup -d /dev/loop0


Теперь архивируем и удаляем содержимое /home/eax, затем монтируем в него зашифрованный диск. Если все работает нормально — удаляем бэкап.


Скрипт /home/mount.sh для автоматизации монтирования:

#!/bin/sh

set -e

losetup /dev/loop0 /home/.eax
cryptsetup luksOpen /dev/loop0 eax_home
mount /dev/mapper/eax_home /home/eax


Скрипт /home/umount.sh, выполняющие обратные действия:

#!/bin/sh

set -e

umount /home/eax
cryptsetup luksClose eax_home
losetup -d /dev/loop0


Когда оригинальных данных на диске не осталось, можно заполнить свободное место мусором:

cd /home
# наберитесь терпения, это надолго (особенно без rng-tools!)
sudo dd if=/dev/urandom of=./random.tmp bs=10M count=6300
sync
sudo rm random.tmp


Наконец, чтобы временные файлы (те же черновики электронных писем, создаваемые Mutt) писались на зашифрованный раздел, в ~/.bashrc следует дописать:

export TMPDIR=/home/eax/temp
mkdir -p $TMPDIR


На этом все☺




Report Page