Смена пароля на зашифрованных CryptoLuks разделах

Наткнулся на то, что для некотрых пользователей Linux является большой проблемой сменить пароль установленных при создании шифрованного раздела особенно при установке системы. Люди изворачиваются, как только можно, хотя на самом деле не нужно загружать систему с другого носителя, подгружать модули и т д. Решение значительно проще чем может показаться при беглом просмотре выдачи команды cryptsetup –help. Интерес представляют две команды которые не имеют никакого отношения к смене пароля.

luksAddKey device [new key file] - add key to LUKS device
luksDelKey device key_slot - identical to luksKillSlot - DEPRECATED - see man page


Первая команда добавляет ключ (пароль), вторая удаляет. Вот и всё переименование.
Команды эти можно и даже нужно выполнять прямо на несущем диске.
Прежде всего нужно определить с каким разделом диска будем работать.
Список всех доступных разделов всех дисков можно получить командой fdisk с фильтрацией срок содержащих “/dev/”

fdisk -l | grep /dev/

Если криптодиск монтируется автоматически при загрузке системы
то командой:

[root@localhost etc]# cat /etc/crypttab 
luks-1873618d-2648-450a-b312-224abe1afd42 UUID=1873618d-2648-450a-b312-224abe1afd42 none

можно получить UUID интересующего нас диска.

А командой

[root@localhost /]# cryptsetup luksUUID /dev/sda2
1873618d-2648-450a-b312-224abe1afd42

Получить UUID раздела и сравнить первый со вторым.

Для тестирования является ли устройство cryptoluks есть команда:

cryptsetup isLuks /dev/sda2

Однако она не даёт вывода, а лишь возвращает 0 если раздел является CryptoLuks устройством.

Для проверки ещё можно получить статус устройства

[root@localhost /]# cryptsetup status <strong>/dev/dm-0</strong>
/dev/mapper//dev/dm-0 is active:
  cipher:  aes-xts-plain
  keysize: 512 bits
  <strong>device:  /dev/sda2</strong>
  offset:  4040 sectors
  size:    487553080 sectors
  mode:    read/write

Думаю, разобрались куда будем добавлять пароль.
Для каждого cryptoluks устройства может быть назначено 8 ключей (паролей)

Чтобы создать новый пароль необходимо выпонить следующую команду:

cryptsetup -y luksAddKey /dev/sda2

После этого нужно перегрузить машину и загрузиться используя новый установленный пароль и затем удалить старый:

cryptsetup luksDelKey /dev/sda2 key_slot

тоесть у меня:

cryptsetup luksDelKey /dev/sda2 0'

Вот и всё.