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

/ И т.д. / 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?

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

1 ответ1

0

Таким образом, /dev/sda3 получает luksOpen'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).

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .