Wie setze ich ein Passwort auf einem verschlüsselten fs zurück?

8

Ich habe einen Laptop, den ich seit den letzten Sommerferien nicht mehr benutzt habe: Ich habe Debian 7 draufgesetzt und Debians Funktion verwendet, um die Festplatte vollständig zu verschlüsseln, abgesehen von einem winzigen Bootloader (oder einer winzigen Partition), denke ich (nicht auch) sicher, welche Verschlüsselung dies ist und wie man es herausfindet).

Ich tun das Passwort des verschlüsselten Dateisystem so das System bootet weiß, aber ich bin mit dem Login - Prompt fest: Ich habe mein Passwort vergessen (s).

Da ich das Passwort des verschlüsselten Dateisystems kenne, kann ich von einer Live-CD (oder vielleicht sogar von der Debian-Installations-CD?) Booten und die verschlüsselte Partition irgendwie "mounten".

Wenn das der Fall ist, kann mir jemand erklären, wie das geht? (wissend, dass ich noch nie eine verschlüsselte Partition / ein verschlüsseltes Dateisystem manuell gemountet habe)

Cedric Martin
quelle
1
Es wäre keine große Sache für mich, ein ganzes Debian-System neu zu installieren (es gibt nichts Wertvolles und ich kann Debian installieren), aber es scheint ein bisschen übertrieben zu sein, und außerdem kann ich dabei etwas lernen, indem ich das verschlüsselte Dateisystem und einbinde Ändern der Passwörter ...
Cedric Martin

Antworten:

15

Die vollständige Festplattenverschlüsselung erfolgt normalerweise mithilfe des dm-cryptDevice Mapper-Ziels mit einem verschachtelten LVM (Logical Volume Manager). Um Ihr Passwort zurückzusetzen, müssen Sie

  1. Entsperren / Öffnen Sie den Krypto-Container. Dies geschieht mitcryptsetup
  2. Aktivieren Sie die logischen Volumes. vgchangewird dafür verwendet.

Normalerweise müssen Sie sich nicht darum kümmern. Lassen Sie einfach die initrdvon Ihrer Distribution bereitgestellten Aufgaben erledigen, aber sagen Sie, dass sie nicht starten sollen, /sbin/initsondern etwas anderes - eine Shell wäre gut. Fügen init=/bin/shSie einfach die Befehlszeile Ihres Kernels in Ihrem Bootloader hinzu (mit GRUB können Sie Emit dem entsprechenden Boot-Eintrag drücken, der zum Bearbeiten des Eintrags ausgewählt wurde).

Dann sollte Ihr Kernel normal initrdhochfahren und die Datei starten, die nach Ihrer Passphrase fragen und Ihre Dateisysteme einrichten sollte. Statt das System hochzufahren, lassen Sie sich in eine Shell fallen. Da musst du

  1. /Lesen / Schreiben erneut montieren :mount -o rw,remount /
  2. Setzen Sie Ihr Passwort mit zurück passwd <user>(da Sie rootnicht zur Eingabe des alten Passworts aufgefordert werden)
  3. Remount /schreibgeschützt: mount -o ro,remount /( Wenn Sie dies überspringen, können Ihre Init-Skripte verwirrt werden.)
  4. Starten Sie die reguläre Init mit exec /sbin/init(oder einfach reboot -f).

Wenn dies nicht funktioniert, müssen Sie den Ansatz mit größerem Aufwand von "außen" ausführen, auch bekannt als Booten einer Live-CD. Normalerweise sollte dies mit der Debian-Installations-CD möglich sein - die Tools sollten installiert werden, da das Installationsprogramm irgendwie eine Verschlüsselung einrichten muss, die dasselbe Schema verwendet:

  1. Starten Sie eine Live-CD

  2. Öffnen Sie die verschlüsselte Partition durch Ausgabe

    # cryptsetup luksOpen /dev/<partition> some_name
    

    Wo <partition>sollte Ihr verschlüsselter Partitionsname sein ( sda2wahrscheinlich)? some_nameist nur ... ein Name. Dadurch werden Sie aufgefordert, die Passphrase für die Verschlüsselung der Festplatte einzugeben und ein Blockgerät mit dem Namen zu erstellen /dev/mapper/some_name.

  3. Aktivieren Sie die logischen Volumes. Dies sollte normalerweise durch Ausgabe funktionieren

    # vgscan
    # vgchange -ay
    

    Dadurch werden Blockgerätedateien für jedes im LVM in gefundene logische Volume erstellt /dev/mapper/.

  4. Hängen Sie das Volume ein, das Ihr /Dateisystem enthält:

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

    wo <vgname>und <lvname>sind die Namen der Datenträgergruppe und des logischen Datenträgers. Dies hängt von der Art und Weise ab, wie Distributionen es einrichten, aber schauen Sie sich das an /dev/mapper/. Normalerweise sind Namen selbsterklärend.

  5. Ändern Sie Ihr Passwort mit passwd <user>entsprechend.

Andreas Wiese
quelle
Hier wird erläutert, wie Sie das Kennwort des Dateisystems ändern. Wenn Sie die Frage genauer lesen, kennt er das Passwort. Er hat sein Benutzerpasswort (Login) vergessen.
cjm
Oh, sorry, das habe ich verpasst - es ist spät hier. ;) Korrigiert.
Andreas Wiese
@AndreasWiese: +1, danke ... In der Tat sind es die Benutzerpasswörter, die ich ändern muss! Ich werde versuchen, was Sie so schnell wie möglich vorgeschlagen haben: Ich mag den Ansatz ohne Live-CD wirklich.
Cedric Martin
@AndreasWiese: hat perfekt funktioniert. Zuerst war ich mir nicht sicher, welche Zeile ich "init = / bin / sh" in Grub hinzufügen sollte, aber die Dinge liefen reibungslos. Ich habe einfach Zeichen für Zeichen einen Eintrag eines / etc / passwd / von einem anderen System für den Root-Benutzer neu kopiert (was irgendwie schmerzhaft war) . Alles ist wieder glatt. Danke noch einmal.
Cedric Martin
Meh, mir ist gerade in den Sinn gekommen, dass Sie nach dem erneuten Einsteigen in /r / w einfach etwas hätten tun können, passwd rootda Sie rootnicht nach seinem alten Passwort gefragt werden. Das tut mir leid.
Andreas Wiese