Wie erstellt man eine verschlüsselte dm-crypt / LUKS-Partition mit vordefinierter UUID unter Linux?

1847
Christianus

Ich habe / und den Swap-Bereich von Ubuntu 14.04 LTS (und Linux Mint 17.1 LTS) in dm-crypt / LUKS verschlüsselt. / und das Auslagerungsgebiet befinden sich in / dev / mapper / UUID_1 und / dev / mapper / UUID_2 . Ist es möglich, die / dev / mapper / UUID (z. B. auf der anderen Festplatte) neu zu erstellen (natürlich mit derselben UUID)? Dies würde die Wiederherstellung des Systems mit TAR im Katastrophenfall ermöglichen. Wie Sie wissen, zeichnet TAR die UUID der kopierten Partition auf. Außerdem enthält grub.cfg, / etc / fstab und initframs die Nummer.

sudo tune2fs / dev / mapper / UUID - UUID

Befehl funktioniert nicht.

cryptsetup luksUUID / device / - UUID

kann nur die UUID des externen Containers ändern.

Danke für die Antworten.

1

2 Antworten auf die Frage

0
dess

Sie haben zwei UUIDs für jede verschlüsselte Partition.

UUID des Dateisystems

Wird in /etc/fstabund von GRUB verwendet (vergessen Sie die Verwendung sudo update-grubnach der Änderung nicht). Könnte geändert werden mit:

sudo tune2fs ‐U "<fsUUID>" /dev/mapper/<luksUUID> 

...woher ist die UUID der entsprechenden LUKS-Partition (könnte danach suchen /etc/crypttab) und <fsUUID>die Dateisystem-UUID muss festgelegt werden. Zum Beispiel:

sudo tune2fs ‐U "81db8bc2-6cc1-4272-beab-8c1d667cfa93" /dev/mapper/310919c2-aec9-4641-b3d2-6d523395db34 

UUID der LUKS-Partition

Verwendet in /etc/crypttab. Könnte geändert werden mit:

sudo cryptsetup luksUUID --uuid "<luksUUID>" /dev/sdxX 

...woher Die UUID der LUKS-Partition muss festgelegt werden, und / dev / sdxX ist der LUKS-verschlüsselte Gerätename. Zum Beispiel:

sudo cryptsetup luksUUID --uuid "310919c2-aec9-4641-b3d2-6d523395db34" /dev/sda1 

Es ist jedoch viel besser, den gesamten LUKS-Header wiederherzustellen (wenn Sie den Verschlüsselungsschlüssel nicht ändern). Der LUKS-Header speichert die Partitionsgröße nicht, so dass er auf praktisch jede Partitionsgröße wiederhergestellt werden kann. Das Wiederherstellen des Headers reicht auch für die Wiederherstellung der LUKS-Partitionsformatierung aus (dh in diesem Fall ist luksFormat nicht erforderlich). Könnte mit gemacht werden luksHeaderRestore(Backup wird auf die gleiche Weise mit gemacht luksHeaderBackup):

sudo cryptsetup luksHeaderRestore --header-backup-file "<HeaderBackupFile>" /dev/sdxX 

...woher ist die UUID der LUKS-Partition. Zum Beispiel:

sudo cryptsetup luksHeaderRestore --header-backup-file "/home/user/MyLuksHeader.Backup" /dev/sda1 

Zusammenfassung

Die Wiederherstellungsschritte sind also:

  1. Neue Partition erstellen
  2. Stellen Sie den LUKS-Header wieder her.
  3. Entsperren Sie die LUKS-Partition
  4. Stellen Sie das Dateisystem mithilfe einer der folgenden Methoden wieder her:
    • Dateisystem-Image wiederherstellen (z partclone. B. verwenden ).
    • Dateisystem neu erstellen:
      1. Neues Gerät formatieren
      2. Sicherung entpacken.
      3. Stellen Sie ggf. die UUID des Dateisystems wieder her.

Ebenfalls

Bitte beachten Sie, dass die Verwendung von Labels für LUKS und Dateisysteme anstelle von UUIDs die Konfiguration vereinfachen und sie lesbarer machen kann.

2 bessere Ideen: 1) VERWENDEN SIE NICHT / dev / mapper / sdXY in `/ etc / fstab` ODER` / etc / crypttab` verwenden eine Zeile wie folgt: UUID = Dies ist vor allem beim Verschieben von Laufwerkpartitionen / Festplatten viel robuster. 2) Sehen Sie sich cryptsetup-reencrypt an und führen Sie es mit dem Schalter --uuid aus (dies setzt eine benutzerdefinierte uuid für die erneut verschlüsselten Bits) - - Dies ist eine In-Place-Neuverschlüsselung. Wenn dies also auf dem `` Systemlaufwerk`` ist, führen Sie dieses von einem Live-Medium oder einem anderen Betriebssystem aus ... linuxdev2013 vor 8 Jahren 0
Thanx, aber eigentlich 1) / dev / mapper-Devices wurde nur mit dem Dienstprogramm tune2fs verwendet (dazu ist der Pfadname der Gerätedatei erforderlich), vorausgesetzt, wir müssen nichts an den Systemeinstellungen ändern In-Place (luksUUID kann übrigens ohne erneute Verschlüsselung des LUKS-Volumes geändert werden - mithilfe von `cryptsetup luksUUID`) dess vor 8 Jahren 0
0
Christianus

Um die Cryptluks- Partition mit einer bestimmten UUID neu zu erstellen, geben Sie analog ein:

sudo cryptsetup luksFormat --verify-passphrase --uuid dec95850-23ad-4f54-b5c2-4f13ea48c571 /dev/sdb4 

(zur Verschlüsselung der / dev / sdb4-Partition mit Cryptluks ),

sudo cryptsetup open --type luks /dev/sdb4 sdb4_crypt 

(um luks container zu öffnen und als / dev / mapper / sdb4_crypt anzuhängen),

sudo mke2fs -v -t ext4 -U f65aa2cb-d7a3-4e45-858b-2b12a50e1b45 /dev/mapper/sdb4_crypt 

(um luks container als ext4- Dateisystem zu formatieren und eine bestimmte UUID zuzuweisen),

mount /dev/mapper/sdb4_crypt /media/<user>/f65aa2cb-d7a3-4e45-858b-2b12a50e1b45 

(um luks container unter einem bestimmten Pfad zu mounten .)

Wenn der Job abgeschlossen ist, können wir den Container abmontieren und den Container schließen:

sudo umount /media/<user>/f65aa2cb-d7a3-4e45-858b-2b12a50e1b45 sudo cryptsetup luksClose sdb4_crypt 

So erstellen Sie die Swap-Partition mit einer bestimmten UUID neu:

sudo cryptsetup luksFormat --verify-passphrase --uuid e1baa59a-f24f-450c-a5a8-67f9d2f3338e /dev/sdc2 sudo cryptsetup open --type luks /dev/sdc2 sdc2_crypt sudo mkswap -U 5313264e-6212-46f5-936d-f903eb2a2231 /dev/mapper/sdc2_crypt 

Container kann mit dem Befehl geschlossen werden:

cryptsetup luksClose sdc2_crypt