Wie kann ich ein Label für einen dm-crypt + LUKS-Container festlegen?

11

Ich habe gerade ein neues USB-Flash-Laufwerk erhalten und 2 verschlüsselte Partitionen darauf eingerichtet. Ich habe dm-crypt (LUKS-Modus) durch verwendet cryptsetup. Mit einer zusätzlichen unverschlüsselten Partition hat das Laufwerk die folgende Struktur:

  • /dev/sdb1, verschlüsselt, versteckt ein ext4-Dateisystem mit der Bezeichnung "Partition 1".
  • /dev/sdb2, verschlüsselt, versteckt ein anderes ext4-Dateisystem mit der Bezeichnung "Partition 2".
  • /dev/sdb3, klares, sichtbares ext4-Dateisystem mit der Bezeichnung "Partition 3".

Da die Beschriftungen an die ext4-Dateisysteme angehängt sind, bleiben die ersten beiden vollständig unsichtbar, solange die Partitionen nicht entschlüsselt wurden. Dies bedeutet, dass die LUKS-Container in der Zwischenzeit keine Etiketten haben. Dies ist besonders ärgerlich, wenn Sie GNOME (Automount) verwenden. In diesem Fall werden die Partitionen als " x GB verschlüsselt " und " y GB verschlüsselt " angezeigt, bis ich sie entsperre.

Dies ist nicht wirklich ein Blockierungsproblem, aber es ist ziemlich ärgerlich, da ich meine Beschriftungen wirklich mag und sie gerne sehen würde, selbst wenn meine Partitionen noch verschlüsselt sind.

Gibt es daher eine Möglichkeit, Labels an dm-crypt + LUKS-Container anzuhängen, genau wie wir Labels an ext4-Dateisysteme anhängen? Hat der dm-crypt + LUKS-Header etwas Platz dafür, und wenn ja, wie kann ich eine Beschriftung festlegen?

Beachten Sie, dass ich meine ext4-Labels nicht vor der Entschlüsselung verfügbar machen möchte, das wäre dumm. Ich möchte den Containern weitere Beschriftungen hinzufügen, die angezeigt werden können, während die ext4-Beschriftungen ausgeblendet sind.

John WH Smith
quelle
Wurde das USB-Laufwerk mit MBR oder GPT partitioniert? Ich glaube, Sie können GPT-Partitionen beschriften, was Ihnen helfen kann.
GarethTheRed
1
Ich habe gelogen (teilweise) - Ich habe eine GPT-Partition auf einem USB-Stick erstellt und gdiskdieser Partition eine Bezeichnung gegeben. Als ich dann ein Dateisystem auf dieser Partition erstellt habe, hat GNOME es nur als "501 MB Volume" erkannt. Während Sie es beschriften können, erkennt GNOME Partitionsbeschriftungen nicht. nur Dateisystembezeichnungen.
garethTheRed
1
@garethTheRed Du hast zur gleichen Zeit wie ich nachgesehen! Ich habe mein Laufwerk mit GPT neu formatiert (ich hatte fdiskden Standard-MBR-Modus verwendet), und Partitionsnamen werden in GNOME nicht angezeigt. Die Frage war jedoch nicht wirklich GNOME-spezifisch, und obwohl der GPT-Namenstrick auf einer niedrigeren Ebene wirkt, könnte dies dennoch eine gültige Lösung für das von mir beschriebene Problem sein. Ich werde etwas länger warten, um zu sehen, ob jemand eine Lösung auf LUKS-Ebene hat, aber ich denke, GPT-Partitionsnamen könnten der Inhalt einer gültigen Antwort sein.
John WH Smith
1
LUKS-Volumes haben keinen Namen. Sie erhalten nur dann eine, wenn das Gerät zugeordnet ist. Dies kann erst geschehen, wenn Sie den Schlüssel eingegeben haben. Ihre einzige Lösung besteht darin, Gnome über einen Namen zu informieren, der nicht „physisch“ mit dem Volume verbunden ist, oder einem umfassenden Volume (z. B. der Partition) einen Namen zu geben. PS: Diese Frage ist hier in Ordnung und würde in Bezug auf Informationssicherheit nicht zum Thema gehören, da es nicht um Sicherheit geht, sondern um die Verwendung eines Endbenutzer-Tools, das zufällig etwas Sicherheitsbezogenes tut.
Gilles 'SO - hör auf böse zu sein'
Wenn Sie eine Partitionsbezeichnung festlegen, erhalten Sie einen Symlink mit dem entsprechenden Namen in /dev/disk/by-partlabel. Ich weiß, dass dies für Tools, die dort nicht suchen, nicht hilft, aber es gibt einen stabilen Pfad, den Sie in Skripten und dergleichen verwenden können.
Asciiphil

Antworten:

2

Ich denke, die Lösung besteht darin, udev-Regeln wie diese zu schreiben.

KERNEL=="sd*", ENV{ID_FS_UUID}=="your-sdb1-uuid", ENV{ID_FS_LABEL}="Partition_1", ENV{ID_FS_LABEL_ENC}="Partition_1"
KERNEL=="sd*", ENV{ID_FS_UUID}=="your-sdb2-uuid", ENV{ID_FS_LABEL}="Partition_2", ENV{ID_FS_LABEL_ENC}="Partition_2"
MB4E
quelle
1
Klappt wunderbar! Obwohl ich eine Lösung vorgezogen hätte, bei der die Informationen auf dem Wechselmedium gespeichert werden, muss ich mich leider doch an eine systemspezifische Konfiguration halten. Außerdem war die Frage ziemlich spezifisch geworden, als GNOME involviert wurde: Ich bin ziemlich froh, dass jemand eine Lösung gefunden hat, die nicht von seinem Verhalten abhängt.
John WH Smith
3

Diese Methode scheint bei mir funktioniert zu haben: http://www.cyberciti.biz/faq/linux-partition-howto-set-labels/

Wenn Sie also ein EXT-Dateisystem verwenden (ich verwende hier ext4):

  1. Entsperren Sie die LUKS-Partition.
  2. Legen Sie den Namen des entsperrten Dateisystems fest (nicht der LUKS-Partition).

    e2label <path> <name>
    

    Das ist im pathAllgemeinen, /dev/mapper/<something>wenn Kryptsetup verwendet wird . Aber in meinem Fall, weil ich udisks benutze, war es /dev/dm-x, wo xist eine Nummer.

Ich denke, diese Methode speichert die Informationen auf dem Wechselmedium, wie Sie wollten, aber ich habe es immer noch nicht getestet.

jemand
quelle
2
Vielen Dank, aber leider funktioniert dies nicht mit LUKS-Containern, die alle Informationen über ihre inneren Dateisysteme (einschließlich ihrer Beschriftungen) verbergen. Die Idee hier war, den LUKS-Container zu benennen, nicht das, was darin verborgen ist, damit der Name auch dann angezeigt wird, wenn der Container noch verschlüsselt ist: p (siehe meinen 2. Absatz)
John WH Smith
Ops, sorry ... Ich dachte, Sie wollten das innere Dateisystem beschriften, nicht die LUKS-Partition. Vielleicht, weil ich das tun wollte, als ich zu dieser Frage kam. = P
jemand
3

Verwenden Sie für eine dauerhafte Lösung zum Ändern des Etiketts des Behälters :

sudo cryptsetup config /dev/sdb1 --label YOURLABEL
Kristóf Szalay
quelle
1
Könnte es wert sein, angegeben zu werden, dass dies nur für LUKS2-Header funktioniert, aber definitiv die beste Lösung
Torin
0

Ich habe festgestellt, dass die Kombination der Antworten von @ kristóf-szalay und @someone genau das ist, was ich möchte, und ich habe einige Notizen hinzugefügt.

Speziell:

sudo cryptsetup config /dev/sdb1 --label YOURLABEL

Wenn die ursprüngliche Frage gestellt wird, kann das Symbol in Ihrem DM mit YOURLABEL angezeigt werden

Wenn Sie die Krypta durch Doppelklick öffnen, wird sie als bereitgestellt

/media/user/uuid
eg:
/media/fred/e54e89a-.....

Was wiederum zu Verwirrung führen kann, sagen Sie, wenn Sie in der CLI sind.

Indem Sie Folgendes tun:

e2label <path> <name>

Dieser Name bewirkt, dass der bereitgestellte Pfad den Wert < Name > annimmt :

/ media / fred / name

Eugenevd
quelle