Модуль dm-crypt включен в ядро >=2.6.4
Установка
sudo apt-get install cryptsetup
Подгружаем модуль
sudo modprobe dm-crypt
Добавим его в автозагрузку
sudo echo "dm-crypt" >> /etc/modules
Шифрование раздела
Создание шифрованного раздела на /dev/sdb1
sudo cryptsetup luksFormat /dev/sdb1
В некоторых манах сначала предлагается затереть имеющиеся данные на диске командой
dd if=/dev/urandom of=/dev/sdb1
возможно в это есть какой-то смысл
Are you sure? (Type uppercase yes):
Правильный ответ: YES
Enter LUKS passphrase:
Вводим пароль (лучше всего 20-30 символов)
Command successful.
Информация о разделе
sudo cryptsetup luksDump /dev/sdb1
Отдельно вывести UUID раздела
sudo cryptsetup luksUUID /dev/sdb1
Подключение раздела
Открываем раздел с именем data1
sudo cryptsetup luksOpen /dev/sdb1 data1
При этом создастся устройство /dev/mapper/data1
ls -l /dev/mapper/
total 0
crw-rw---- 1 root root 10, 63 2009-05-18 17:01 control
brw-rw---- 1 root disk 254, 0 2009-05-18 17:14 data1
Информация о подключенном разделе
dmsetup info data1
Это устройство в 'расшифрованном виде', работать с data1 можно как с обычным блочным устройством.
А следовательно для начала форматируем его
sudo mkfs.ext3 -j /dev/mapper/data1
И примантируем
sudo mount /dev/mapper/data1 /home/data1/
Для автоматического подключения при загрузке см.
/etc/crypttab /etc/fstab
Размонтирование
Отключить устройство от ФС
sudo umount /home/data1/
Закрыть раздел
sudo cryptsetup luksClose /dev/mapper/data1
Смена пароля
Добавим еще один ключ для доступа
sudo cryptsetup luksAddKey /dev/sdb1
Вводим текущий пароль (или их может быть несколько)
Enter any LUKS passphrase:
Далее вводим новый пароль для нового слота.
Enter new passphrase for key slot:
Смотрим на результат
sudo cryptsetup luksDump /dev/sdb1
Теперь когда у нас есть второй слот
Key Slot 0: ENABLED
Key Slot 1: ENABLED
Можно удалить первый — он же нулевой
sudo cryptsetup luksDelKey 0
Удалить единственный и последний пароль нельзя.
Что бы удалить Key Slot 0 надо создать Key Slot 1, так и происходит смена пароля.
Файл-Ключ
Можно использовать файл-ключ вместо пароля и носить его с собой на флешке.
Создание ключа
sudo dd if=/dev/random of=/media/flashka/data1.key bs=1 count=256
Создание с указание ключа вместо пароля
sudo cryptsetup luksFormat /dev/sda5 /media/flashka/data1.key
Добавление ключа к существующему разделу
sudo cryptsetup luksAddKey /dev/sda5 /media/flashka/data1.key
Открытие колючем
sudo cryptsetup luksOpen /dev/sda5 data1 --key-file=/media/flashka/data1.key