¿Cómo puedo configurar una etiqueta en un contenedor dm-crypt + LUKS?

12

Acabo de recibir una nueva unidad flash USB y configuré 2 particiones cifradas en ella. Utilicé dm-crypt (modo LUKS) a través cryptsetup. Con una partición no cifrada adicional, la unidad tiene la siguiente estructura:

  • /dev/sdb1, encriptado, ocultando un sistema de archivos ext4 etiquetado "Partición 1".
  • /dev/sdb2, encriptado, ocultando otro sistema de archivos ext4, etiquetado "Partición 2".
  • /dev/sdb3, claro, visible sistema de archivos ext4 etiquetado "Partición 3".

Debido a que las etiquetas están unidas a los sistemas de archivos ext4, las dos primeras permanecen completamente invisibles siempre que las particiones no hayan sido descifradas. Esto significa que, mientras tanto, los contenedores LUKS no tienen etiquetas. Esto es particularmente molesto cuando se utiliza GNOME (montaje automático), en cuyo caso las particiones aparecen como " x GB Encrypted " y " y GB Encrypted " hasta que decida desbloquearlas.

Esto no es realmente un problema de bloqueo, pero es bastante molesto, ya que realmente me gustan mis etiquetas y me encantaría verlas aparecer incluso cuando mis particiones todavía están encriptadas.

Por lo tanto, ¿hay alguna forma de adjuntar etiquetas a los contenedores dm-crypt + LUKS, al igual que adjuntamos etiquetas a los sistemas de archivos ext4? ¿El encabezado dm-crypt + LUKS tiene espacio para eso? De ser así, ¿cómo puedo establecer una etiqueta?

Tenga en cuenta que no quiero exponer mis etiquetas ext4 antes del descifrado, eso sería una tontería. Me gustaría agregar otras etiquetas a los contenedores, que podrían aparecer mientras las etiquetas ext4 están ocultas.

John WH Smith
fuente
¿Se particionó la unidad USB con MBR o GPT? Creo que puede etiquetar las particiones GPT, lo que puede ayudarlo.
garethTheRed
1
Mentí (bien parcialmente): creé una partición GPT en una memoria USB y solía gdiskdarle una etiqueta a esa partición. Cuando creé un sistema de archivos en esa partición, GNOME solo lo reconoció como un "Volumen de 501 MB". Entonces, aunque puede etiquetarlo, GNOME no reconoce las etiquetas de partición; solo etiquetas de sistema de archivos.
garethTheRed
1
@garethTheRed ¡Lo comprobaste al mismo tiempo que yo! Volví a formatear mi disco usando GPT (había usado fdiskel modo MBR predeterminado), y los nombres de las particiones no aparecen en GNOME. Sin embargo, la pregunta no era realmente específica de GNOME, y aunque el truco de nombres GPT actúa en un nivel inferior, esta podría ser una solución válida para el problema que describí. Esperaré un poco más para ver si alguien tiene una solución que actúe a nivel LUKS, pero creo que los nombres de partición GPT podrían ser el contenido de una respuesta válida.
John WH Smith
1
Los volúmenes LUKS no tienen nombre. Solo se les asigna uno cuando se asigna el dispositivo, lo que no puede suceder hasta que haya proporcionado la clave. Sus únicas soluciones son encontrar alguna forma de decirle a Gnome sobre algún nombre que no esté "físicamente" adjunto al volumen, o dar un nombre a un volumen que lo abarque (por ejemplo, la partición). PD: Esta pregunta está bien aquí, y estaría fuera de tema en Seguridad de la Información, ya que no se trata de seguridad, se trata de usar una herramienta de usuario final que haga algo relacionado con la seguridad.
Gilles 'SO- deja de ser malvado'
Si configura una etiqueta de partición, obtendrá un enlace simbólico con el nombre apropiado /dev/disk/by-partlabel. Sé que eso no ayuda para las herramientas que no se ven allí, pero proporciona una ruta estable que puedes usar en scripts y demás.
asciiphil

Respuestas:

2

Creo que la solución es escribir reglas udev como esta.

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
fuente
1
¡Funciona de maravilla! Aunque hubiera preferido una solución que implicara almacenar la información en los medios extraíbles, después de todo, me temo que tendré que seguir con alguna configuración específica del sistema. Además, la pregunta se volvió bastante específica una vez que GNOME se involucró: estoy muy contento de que alguien haya encontrado una solución que no dependa de su comportamiento.
John WH Smith
5

para una solución permanente para cambiar la etiqueta del contenedor , use:

sudo cryptsetup config /dev/sdb1 --label YOURLABEL
Kristóf Szalay
fuente
1
Podría valer la pena especificar que esto solo funciona para los encabezados LUKS2, pero definitivamente es la mejor solución
Torin el
3

Este método parece haber funcionado para mí: http://www.cyberciti.biz/faq/linux-partition-howto-set-labels/

Entonces, si está utilizando un sistema de archivos EXT (estoy usando ext4 aquí):

  1. Desbloquee la partición LUKS.
  2. Establezca el nombre del sistema de archivos desbloqueado (no la partición LUKS).

    e2label <path> <name>
    

    Lo pathgeneral es /dev/mapper/<something>si se usa cryptsetup. Pero en mi caso, porque estoy usando udiscos, fue /dev/dm-x, donde xhay un número.

Creo que este método almacena la información en los medios extraíbles, como quería, pero aún no lo probé.

alguien
fuente
2
Gracias, pero desafortunadamente esto no puede funcionar con los contenedores LUKS, que ocultan cada bit de información sobre sus sistemas de archivos internos (incluidas sus etiquetas). La idea aquí era nombrar el contenedor LUKS, no lo que está oculto dentro de él, para que el nombre aparezca incluso cuando el contenedor todavía está encriptado: p (ver mi segundo párrafo)
John WH Smith
Ops, lo siento ... pensé que querías etiquetar el sistema de archivos interno, no la partición LUKS. Tal vez porque eso era lo que quería hacer cuando llegué a esta pregunta. = P
alguien
0

He encontrado la combinación de las respuestas de @ kristóf-szalay y @someone para ser lo que quiero, y he agregado algunas notas.

Específicamente:

sudo cryptsetup config /dev/sdb1 --label YOURLABEL

ITO la pregunta original, esto permitirá que el icono en tu DM se muestre con YOURLABEL

Si abriera la cripta haciendo doble clic, se montará como

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

Lo que nuevamente podría causar confusión, por ejemplo, si está en la CLI.

Haciendo:

e2label <path> <name>

Ese nombre hará que la ruta montada tome el valor de < nombre >:

/ media / fred / name

eugenevd
fuente