У меня есть система, в которой все разделы ( / , / home и swap ) зашифрованы, кроме / boot , / boot находится на внешнем устройстве, которое также содержит набор зашифрованных файлов ключей, используемых для автоматической дешифровки всех разделов. Другими словами, мой желаемый конечный результат состоял в том, чтобы иметь двухфакторную аутентификацию с использованием внешнего устройства и пароля, где пароль будет вводиться один раз во время загрузки, а сценарии загрузки будут использовать пароль для расшифровки всех разделов.
Я новичок в Ubuntu (и Linux в целом), но я сделал несколько проб и ошибок, модифицируя различные скрипты, найденные в initrd.img , используя update-initramfs . Сценарий cryptroot сначала выполнял всю работу по монтированию разделов, но после некоторых экспериментов выясняется, что он отвечает только за расшифровку корневой файловой системы. Я изменил строку в скрипте, изменив . Введите пароль , просто Пароль , который работал при расшифровке корневой файловой системы, но снова использовал старую подсказку для расшифровки следующего раздела. , Другими словами, вот что я получаю:
Я думаю, что Ubuntu может запустить другую копию скрипта cryptroot где-нибудь, чтобы расшифровать все другие разделы. после рута, но я не знаю, что еще изменить.
Во-первых, выясните, где находится cryptroot
, какой пакет предоставляет cryptroot
, а что еще (источник, документация, примеры, ...) находится в пакете. Таким образом:
walt@squid:~(0)$ locate cryptroot
/usr/share/initramfs-tools/hooks/cryptroot
/usr/share/initramfs-tools/scripts/local-top/cryptroot
walt@squid:~(0)$ dpkg -S !$
dpkg -S cryptroot
cryptsetup: /usr/share/initramfs-tools/hooks/cryptroot
cryptsetup: /usr/share/initramfs-tools/scripts/local-top/cryptroot
walt@squid:~(0)$ dpkg -L cryptsetup
...