Как изменить пароль на зашифрованной фс?

Используйте находят. Что-то как следующее нашло бы все папки (не больше, чем две папки глубоко) и затем выполнилось бы rm /*.pdf от папки:

find pathwithsubfolders -type d -maxdepth 1 -mindepth 1 -exec rm {}/\*.pdf \;

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

8
23.04.2014, 22:14
1 ответ

Полное дисковое шифрование обычно выполняется с помощью dm-шифрования Device Mapper target, внутри которого находится вложенный LVM (менеджер логических томов). Поэтому для сброса пароля необходимо

  1. Разблокировать/открыть контейнер с криптографическим ключом; это делается с помощью cryptsetup
  2. Активировать логические тома; для этого используется vgchange.

Обычно вам не нужно об этом беспокоиться. Просто позвольте initrd, предоставляемому вашим дистрибутивом, сделать это, но скажите ему не запускать /sbin/init, а что-нибудь другое - оболочку было бы неплохо. Просто добавьте init=/bin/sh в командную строку вашего ядра в системном загрузчике (с помощью GRUB вы можете нажать E, выбрав соответствующую загрузочную запись для редактирования этой записи).

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

  1. перемонтировать / read-write: mount -o rw,remount /
  2. reset your password using passwd (так как вы root не получите запрос на старое)
  3. remount / read-only: mount -o ro,remount / (пропустив это, вы можете перепутать ваши init скрипты)
  4. Запустите обычный init с помощью exec /sbin/init (или просто reboot -f).

Если это не сработает, вам придется применить подход с большими усилиями и сделать это "извне", т.е. загрузив Live CD. Обычно это можно сделать с установочного компакт-диска Debian - нужно установить утилиты, так как программа установки должна каким-то образом установить шифрование, которое использует ту же самую схему:

  1. Загрузка с Live CD

  2. Открыть зашифрованный раздел, выпустив

    # cryptsetup luksOpen /dev/<разметка> some_name
    

    где <раздел> должно быть ваше зашифрованное имя раздела (sda2, вероятно). some_name это просто... некоторое имя. Это запросит кодовую фразу диска для шифрования и создаст блочное устройство с именем /dev/mapper/some_name.

  3. Активируйте логические тома. Обычно это должно сработать, выпустив

    # vgscan
    # vgchange -ay
    

    Это создаст файлы блочных устройств для каждого логического тома, найденного в LVM в /dev/mapper/.

  4. Монтируйте том, содержащий вашу / файловую систему:

    # mount /dev/mapper/- /mnt
    

    , где и - названия группы томов и логического тома. Это зависит от того, как дистрибутивы его настроили, но достаточно взглянуть на /dev/mapper/, обычно имена понятны сами по себе.

  5. Смените пароль с помощью passwd соответственно.

15
27.01.2020, 20:10

Теги

Похожие вопросы