Intereting Posts
Какова концепция создания файла с нулевыми байтами в Linux? Как напечатать строки, содержащие 3 слова Получить текущее выполнение команды в ssh? Получение размера только для файлов du Как эффективно разделить большой текстовый файл без разделения многострочных записей? Отключить электронные письма cron, если нет ошибок? Как я могу использовать mutt с локальным хранилищем, IMAP и мгновенным нажатием новой электронной почты? Автоматически скрывать панель уведомлений Mint Linux после таймаута создать «виртуальный каталог» с установленным устройством Сохранять метаданные или редактировать метаданные с помощью tar Объединить столбцы в файле 1 с столбцами в файле 2 – должно быть простым – но что-то странное происходит Ubuntu и Mint замедляют хост, быстро на VM Объединение и экспорт текста OCRed в файл PDF и из него Почему моя переменная локальна в одном цикле ‘while read’, а не в другом, на первый взгляд, похожем цикле? Экранный сеанс завершается при сбое программы

Каков правильный способ разблокировать корневую файловую систему, охватывающую два устройства LUKS, только однажды введя пароль, используя systemd?

У меня возникло множество проблем с получением зашифрованной многодисковой корневой файловой системы для надежной загрузки в systemd на Debian Jessie, а только для ввода пароля один раз. Раньше я обрабатывал это в Debian, используя decrypt_derived keyscript в / etc / crypttab для каждого устройства, кроме первого, и это сработало хорошо.

Однако это не очень хорошо работает при вводе systemd. systemd-cryptsetup-generator не обрабатывает keycripts, и, пытаясь найти больше информации о том, как это решить, я только нашел неопределенные ссылки на какой-либо пользовательский агент пароля в электронном письме от одного из разработчиков systemd, который дает только бесполезные советы «легко написать дополнительные агенты. Основной алгоритм, который следует следовать, выглядит так», а затем список из 13 шагов. Очевидно, что это не предназначено для конечного пользователя.

Я Debian, у меня есть это, чтобы работать в некоторой степени, играя с несколькими вариантами ядра, которые /etc/crypttab systemd игнорировать /etc/crypttab во время загрузки или полностью игнорировать его. update-initramfs от Debian скопирует keycript в initramfs и разблокирует устройства до того, как systemd возьмет верх, но я обнаружил, что это приводит к проблемам позже, потому что systemd теперь не имеет файлов единиц для расшифрованных устройств, поэтому монтирует, которые полагаются на них иногда похоже, зависают или задерживаются. Одно место, где это происходит, – это попытки монтировать btrfs subvolumes; они монтируются с того же физического устройства, что и root, но systemd не знает, что устройства уже разблокированы и останавливаются при загрузке.

TL; DR – мой фактический вопрос:

Каков метод systemd для обработки зашифрованной корневой файловой системы, охватывающей несколько устройств (будь то система btrfs, зеркало LVM и т. Д.), Где вам нужно только один раз ввести пароль? Я вряд ли считаю это необычным случаем, поэтому надеюсь, что для этого есть метод.

На ум приходят некоторые возможные решения:

  • Крошечный зашифрованный раздел, содержащий ключевой файл, который разблокирован до root. Корневые устройства будут ссылаться на этот ключевой файл. Как я могу сказать это systemd?
  • Какой-то агент кэширования паролей, запущенный в initramfs, который запоминает пароль и передает его всем устройствам, которые нуждаются в нем при загрузке.
  • Кто-то уже написал системный агент, эмулирующий decrypt_derived. Как бы интегрировать это в мою процедуру загрузки?

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

Это хорошо известная проблема, в настоящее время без решения.

В Debian (и других системах) systemd не может собрать зашифрованный массив BTRFS из-за параллельных процессов и различных тестов. Все тома массива BTRFS должны присутствовать для его монтирования (правильно), но поскольку все тома массива BTRFS имеют одинаковый UUID (по дизайну), systemd пытается установить первый том, который он открывает, не дожидаясь другие (которые будут выставлять один и тот же UUID, запутывая систему еще больше).

В настоящее время единственный способ использовать зашифрованные тома BTRFS на Debian – не использовать systemd (пакеты sysvinit-core , systemd-shim и т. Д.). Нет возможного «системного пути».