Come posso impostare un'etichetta su un contenitore dm-crypt + LUKS?


12

Ho appena ricevuto una nuova unità flash USB e ho impostato 2 partizioni crittografate su di essa. Ho usato dm-crypt (modalità LUKS) attraverso cryptsetup. Con un'ulteriore partizione non crittografata, l'unità ha la seguente struttura:

  • /dev/sdb1, crittografato, nasconde un filesystem ext4 etichettato "Partition 1".
  • /dev/sdb2, crittografato, nasconde un altro filesystem ext4, etichettato "Partition 2".
  • /dev/sdb3, filesystem ext4 chiaro, visibile etichettato "Partition 3".

Poiché le etichette sono attaccate ai filesystem ext4, i primi due rimangono completamente invisibili fintanto che le partizioni non sono state decodificate. Ciò significa che, nel frattempo, i contenitori LUKS non hanno etichette. Ciò è particolarmente fastidioso quando si utilizza GNOME (automount), nel qual caso le partizioni appaiono come " x GB crittografate " e " y GB crittografate " fino a quando non decido di sbloccarle.

Questo non è davvero un problema di blocco, ma è piuttosto fastidioso, poiché mi piacciono molto le mie etichette e mi piacerebbe vederle apparire anche quando le mie partizioni sono ancora crittografate.

Pertanto, esiste un modo per collegare le etichette ai contenitori dm-crypt + LUKS, proprio come alle etichette dei filesystem ext4? L'intestazione dm-crypt + LUKS ha spazio per questo, e in tal caso, come posso impostare un'etichetta?

Nota che non voglio esporre le mie etichette ext4 prima della decrittazione, sarebbe sciocco. Vorrei aggiungere altre etichette ai contenitori, che potrebbero apparire mentre le etichette ext4 sono nascoste.


L'unità USB è stata partizionata con MBR o GPT? Credo che tu possa etichettare le partizioni GPT, il che può aiutarti.
garethTheRed,

1
Ho mentito (anche parzialmente) - ho creato una partizione GPT su una chiavetta USB e ho usato gdiskper dare a quella partizione un'etichetta. Quando ho quindi creato un filesystem su quella partizione, GNOME l'ha riconosciuto solo come "Volume da 501 MB". Quindi mentre puoi etichettarlo, GNOME non riconosce le etichette delle partizioni; solo etichette per filesystem.
garethTheRed,

1
@garethTheRed Hai controllato contemporaneamente a me! Ho riformattato il mio disco usando GPT (avevo usato fdiskla modalità MBR predefinita) e i nomi delle partizioni non compaiono in GNOME. Tuttavia, la domanda non era specifica per GNOME e, sebbene il trucco dei nomi GPT agisca a un livello inferiore, questa potrebbe essere comunque una soluzione valida al problema che ho descritto. Aspetterò ancora un po 'per vedere se qualcuno ha una soluzione che agisce a livello LUKS, ma penso che i nomi delle partizioni GPT potrebbero essere il contenuto di una risposta valida.
John WH Smith,

1
I volumi LUKS non hanno un nome. Ne viene assegnato uno solo quando il dispositivo è mappato, il che non può accadere fino a quando non viene fornita la chiave. Le uniche soluzioni sono trovare un modo per dire a Gnome di un nome che non sia "fisicamente" associato al volume o di dare un nome a un volume globale (ad esempio la partizione). PS Questa domanda va bene qui, e sarebbe fuori tema sulla sicurezza delle informazioni poiché non si tratta di sicurezza, si tratta di utilizzare uno strumento per l'utente finale che capita di fare qualcosa legato alla sicurezza.
Gilles 'SO- smetti di essere malvagio' il

Se imposti un'etichetta di partizione, otterrai un link simbolico con un nome appropriato /dev/disk/by-partlabel. So che non aiuta gli strumenti che non guardano lì, ma fornisce un percorso stabile che puoi usare negli script e simili.
asciiphil,

Risposte:


2

Penso che la soluzione sia scrivere regole udev come questa.

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"

1
Funziona come un fascino! Anche se avrei preferito una soluzione che prevede la memorizzazione delle informazioni sul supporto rimovibile, temo che dovrò attenermi a una configurazione specifica del sistema dopo tutto. Inoltre, la domanda era diventata piuttosto specifica una volta che GNOME era stato coinvolto: sono abbastanza contento che qualcuno abbia trovato una soluzione che non dipende dal suo comportamento.
John WH Smith,

5

per una soluzione permanente per modificare l'etichetta del contenitore , utilizzare:

sudo cryptsetup config /dev/sdb1 --label YOURLABEL

1
Potrebbe valere la pena specificare che questo funziona solo per le intestazioni LUKS2, ma sicuramente la soluzione migliore
Torin

3

Questo metodo sembra aver funzionato per me: http://www.cyberciti.biz/faq/linux-partition-howto-set-labels/

Quindi, se stai usando un filesystem EXT (sto usando ext4 qui):

  1. Sblocca la partizione LUKS.
  2. Imposta il nome del filesystem sbloccato (non la partizione LUKS).

    e2label <path> <name>
    

    In pathgenerale, /dev/mapper/<something>se si utilizza cryptsetup. Ma nel mio caso, poiché sto usando udisks, era /dev/dm-x, dov'è xun numero.

Penso che questo metodo memorizzi le informazioni sul supporto rimovibile, come desiderato, ma non ho ancora testato.


2
Grazie, ma sfortunatamente questo non può funzionare con i contenitori LUKS, che nascondono ogni bit di informazione sui loro filesystem interni (comprese le loro etichette). L'idea qui era di nominare il contenitore LUKS, non ciò che è nascosto al suo interno, in modo che il nome apparisse anche quando il contenitore è ancora crittografato: p (vedi il mio secondo paragrafo)
John WH Smith

Ops, scusa ... Pensavo volessi etichettare il filesystem interno, non la partizione LUKS. Forse perché è quello che volevo fare quando sono arrivato a questa domanda. = P
qualcuno

0

Ho trovato la combinazione delle risposte di @ kristóf-szalay e @someone quella che voglio e ho aggiunto alcune note.

In particolare:

sudo cryptsetup config /dev/sdb1 --label YOURLABEL

ITO la domanda originale, questo permetterà all'icona nel tuo DM di mostrare con YOURLABEL

Se dovessi aprire la cripta facendo doppio clic, verrà montata come

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

Che di nuovo potrebbe causare confusione, dire se ci si trova nella CLI.

Facendo:

e2label <path> <name>

Quel nome farà assumere al percorso montato il valore di < nome >:

/ media / fred / name

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.