cryptsetup не разблокируется при загрузке

0

У меня есть эти два файла:

/ И т.д. / crypttab:

cry1    /dev/sda3   none                    luks
cry2    /dev/sda4   /mounted/sda3/keyfile   luks

/ И т.д. / Fstab:

/dev/sda1           /boot    ext2   ro        0   2
/dev/sda2           /        ext4   defaults  0   0
/dev/mapper/cry1    /cry1    ext4   defaults  0   2
/dev/mapper/cry2    /cry2    ext4   defaults  0   2

Debian загружается, и мне предлагается ввести пароль для файловой системы sda3 / cry1. Это работает, и это установлено.

Но sda4 / cry2 не смонтирован, хотя я легко могу расшифровать и смонтировать его в командной строке не только с помощью пароля, но и с помощью ключевого файла.

Я закончил тем, что поместил командную строку в /etc/rc.local, но я не доволен этим утверждением. Почему механизм crypttab / fstab не работает?

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


источник

Ответы:

0

Так что /dev/sda3luksOpen'ed, к /dev/mapper/cry1которому подключается /cry1? Что / где /mounted/sda3? Похоже, это должно быть sda3, может быть, в этом проблема ...

В любом случае, если точки монтирования верны, это похоже на проблему с синхронизацией при монтировании. crypttab должен последовательно проходить через записи, но я не уверен, что они монтируются перед следующей записью, в man crypttabэтом звуке многообещающие варианты .

Попробуйте добавить это к cry2записи:

   noearly
       The cryptsetup init scripts are invoked twice during the boot process -
       once before lvm, raid, etc. are started and once again after that.
       Sometimes you need to start your encrypted disks in a special order.
       With this option the device is ignored during the first invocation of
       the cryptsetup init scripts.

И попробуйте эту опцию тоже и проверьте журналы, чтобы увидеть, в чем проблема:

   loud
       Be loud. Print warnings if a device does not exist. This option
       overwrites the option quiet.

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

   keyscript=<path>
       The executable at the indicated path is executed with the key file from
       the third field of the crypttab as its only argument and the output is
       used as the key. This also works with encrypted root filesystems via
       initramfs if the executable is self-contained (i.e. an executable which
       does not rely on any external program which is not present in the
       initramfs environment).

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

Xen2050
источник