Я сделал довольно тщательно зашифрованную, сбалансированную и хорошо работающую файловую систему с помощью dm-crypt/LUKS/cryptsetup, но я допустил ошибку, оставив домашнюю папку незашифрованной при первой установке Debian (jessie).
Поскольку эта система превратилась в высокоорганизованную и очень упрощенную систему, на создание которой ушли недели, я хотел зашифровать домашнюю папку с минимальными изменениями в системе. У меня уже был большой зашифрованный раздел на отдельном диске для пользовательских документов и проектов, поэтому я подумал: почему бы просто не переместить туда данные домашней папки и вместо этого указать на них Debian?
Это, очевидно, повлечет за собой автоматическое монтирование зашифрованного раздела, который я хочу использовать при каждой загрузке. В настоящее время он монтируется только при необходимости, используя скрипт, который вызывает "cryptsetup luksOpen" и "mount". Поэтому, прежде чем вводить «usermod -d» и редактировать «HOME =» в «/etc/default/useradd», первым делом нужно было автоматически смонтировать существующий работающий зашифрованный раздел. Просто, правда?
Ну, я как-то напутал, потому что теперь система не загружается ...
Вот что я сделал:
Внимательно прочитав тему, чтобы убедиться, что я ничего не пропустил, я отредактировал «/etc/crypttab» и «/etc/fstab» в этом порядке.
Мой crypttab был прост: он содержал две строки. Они оба были добавлены установщиком Debian, когда система была новой, и у меня никогда не было проблем с ними:
sda2_fsroot UUID = deadbeef-dead-beef-dead-beefdeadbeef none luks
sda3_swappart UUID = beefdead-beef-dead-beef-deadbeefdead none luks, swap
(Очевидно, я изменил UUID для этого поста)
(Да, я знаю, что мог бы просто использовать urandom в качестве ключевого файла для свопинга. Я хочу исправить это первым)
Я не был уверен, какой UUID добавить в дополнительную строку, которую я собирался поставить там, потому что blkid показывал и "UUID", и "PARTUUID" для раздела, который я пытался автоматически смонтировать (это раздел GPT). Мне было трудно найти конкретные ответы по этому поводу, поэтому я решил просто обойтись безопасным образом и следовать руководству, введя UUID следующим образом:
документы UUID = хххххххх-хххх-хххх-хххх-ххххххххххх нет
(Здесь x - это UUID, а не PARTUUID раздела, который я хотел смонтировать. Мой источник был blkid, и я копировал, чтобы убедиться, что я правильно понял)
(Это было добавлено как новая строка прямо под существующими двумя строками в crypttab)
Затем я сохранил crypttab и открыл fstab. В fstab я просто добавил следующую строку прямо под нижней (это был привод DVD):
/dev/mapper/ документы / хранилище / документы ext4 по умолчанию 0 2
(Здесь «/storage/documents» - папка и точка монтирования, которые я всегда использовал для этого раздела)
Параметры "ext4", "значения по умолчанию", "0" и "2" должны быть правильными в соответствии с тем, что я прочитал и сделал, и просто для защиты от глупых ошибок, таких как использование табуляции вместо пробела, я фактически скопировал эти параметры из существующей рабочей строки для sda2_fsroot (будет ясно: sda2_fsroot монтируется как /).
Затем, после некоторого дополнительного поиска в Интернете и чтения, я неохотно (так как это похоже на операцию на сердце) запустил с правами root:
update-initramfs -u
Затем я перезагрузился. И это не работает ...
Я получаю приглашение ввести пароль для fsroot и swappart. Я ввожу оба пароля и получаю сообщение, что блоки в fsroot выглядят нормально. И тогда ничего. Меня никогда не спрашивают пароль для документов. Загрузка никогда не продолжается.
Перезагрузка в режиме восстановления не помогает. Это тоже зависает в процессе загрузки.
Поскольку я хотел принять свои меры предосторожности, какими бы простыми это ни казалось, я фактически сделал резервную копию четырех файлов в /boot /(vmlinuz, initramfs и двух других), прямо перед тем, как я внес изменения в crypttab и fstab и запустил update-initramfs.
Поэтому, не найдя ответов на этот вопрос в Интернете, я загрузил live DVD DVD Debian, подтвердил, что все мои зашифрованные диски все еще не повреждены и монтируются, как обычно, и попытался восстановить четыре файла в «/boot/» до их предыдущего состояния, как я подозреваю, виновным является initramfs (может быть, что-то связанное с движением Debian?).
Для большей безопасности я не УДАЛЕН четыре файла в /boot / и не заменил их: я полагаю, что эта папка / раздел настолько особенная, что может полагаться на файлы, занимающие специальные сектора на диске. Поэтому, чтобы быть уверенным, я переименовал все четыре обновленных файла с расширением «.bak», а затем скопировал старые версии с "правильным" именем файла в «/boot /», оставив обе версии в папке.
Результат?
Теперь меня даже не просят ввести пароль ... Когда я загружаюсь, я получаю черный экран с мигающим подчеркиванием, который просто сидит, как будто процессор остановлен.
Что мне теперь делать?
Я просто недостаточно хорошо знаю детали низкого уровня initramfs, fstab и т.д., И я действительно удивлен тем, как легко все это ломается, даже когда я пытаюсь подготовиться и быть осторожным!
Любая помощь будет принята с благодарностью!