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

8

У меня есть ноутбук, который я не использовал с прошлых летних каникул: я установил на него Debian 7 и использовал функцию Debian для полного шифрования диска, кроме крошечного загрузчика (или крошечного раздела), я думаю (не слишком) уверен, какое шифрование это ни как выяснить).

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

Видно, что я знаю пароль зашифрованной файловой системы, полагаю, что могу загрузиться с Live CD (или, может быть, с установочного компакт-диска Debian?) И каким-то образом «смонтировать» зашифрованный раздел.

Если это так, может кто-нибудь объяснить мне, как это сделать? (зная, что я никогда не монтировал зашифрованный раздел / файловую систему вручную)

Седрик Мартин
источник
1
Для меня не будет большой проблемой переустановить всю систему Debian (нет ничего ценного, и я могу установить Debian), но это кажется немного излишним, и, кроме того, я могу чему-то научиться в процессе установки монтированной зашифрованной файловой системы и смена паролей ...
Седрик Мартин

Ответы:

15

Полное шифрование диска обычно выполняется с помощью dm-cryptцелевого устройства Device Mapper с вложенным LVM (Logical Volume Manager) внутри. Таким образом, чтобы сбросить пароль, вам придется

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

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

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

  1. перемонтировать /чтение-запись:mount -o rw,remount /
  2. сбросьте свой пароль, используя passwd <user>(так как вы не rootбудете получать запрос на старый)
  3. перемонтировать /только для чтения: mount -o ro,remount /(пропуская это может запутать ваши сценарии инициализации)
  4. Начните обычный init с exec /sbin/init(или просто reboot -f).

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

  1. Загрузите Live CD

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

    # cryptsetup luksOpen /dev/<partition> some_name
    

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

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

    # vgscan
    # vgchange -ay
    

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

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

    # mount /dev/mapper/<vgname>-<lvname> /mnt
    

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

  5. Измените свой пароль passwd <user>соответственно.

Андреас Визе
источник
Это объясняет, как изменить пароль файловой системы. Если вы прочитаете вопрос более внимательно, он знает этот пароль. Он забыл свой пароль пользователя (логин).
CJM
Ой, прости, я пропустил это - здесь поздно. ;) Исправлено.
Андреас Визе
@AndreasWiese: +1, спасибо ... Действительно, это пароли пользователей, которые мне нужно изменить! Я попробую то, что вы предложили как можно скорее: мне действительно нравится подход без концертного CD.
Седрик Мартин
@AndreasWiese: работал отлично. Сначала я не был уверен в том, какую строку я должен был добавить "init = / bin / sh" в Grub, но все прошло гладко. Я просто повторял (что было довольно болезненно) символ за символом запись файла / etc / passwd / из другой системы для пользователя root. Все снова гладко. Еще раз спасибо.
Седрик Мартин
Мех, мне просто пришло в голову, что, как только вы перемонтируете /з / у, вы могли бы просто сделать это, passwd rootпоскольку rootего / ее старый пароль не спрашивают. Простите за это.
Андреас Визе