¿Cómo recrear la partición encriptada dm-crypt / LUKS con UUID predefinido en Linux?

1

Tengo / y el área de intercambio de Ubuntu 14.04 LTS (y Linux Mint 17.1 LTS) encriptada en dm-crypt / LUKS. / y el área de intercambio residen en / dev / mapper / UUID_1 y / dev / mapper / UUID_2 . ¿Es posible recrear el / dev / mapper / UUID (por ejemplo, en el disco duro diferente) (con el mismo UUID, por supuesto)? Haría posible la recuperación del sistema con TAR en caso de desastre. Como sabe, TAR registra el UUID de la partición copiada. Además, grub.cfg, / etc / fstab e initframs también contienen el número.

sudo tune2fs / dev / mapper / UUID ‐U UUID

El comando no funciona.

cryptsetup luksUUID / device / - UUID

solo puede cambiar el UUID del contenedor externo.

Gracias por las respuestas

Cristiano
fuente

Respuestas:

0

Tiene dos UUID para cada partición encriptada.

UUID del sistema de archivos

Usado en /etc/fstaby por GRUB (así que no olvides usarlo sudo update-grubdespués del cambio). Se puede cambiar con:

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

...dónde es el UUID de la partición LUKS correspondiente (podría buscarlo /etc/crypttab) y <fsUUID>es necesario configurar el UUID del sistema de archivos. Por ejemplo:

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

UUID de la partición LUKS

Se utiliza en /etc/crypttab. Se puede cambiar con:

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

...dónde se debe configurar el UUID de la partición LUKS y / dev / sdxX es el nombre del dispositivo cifrado con LUKS. Por ejemplo:

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

Pero es mucho mejor restaurar todo el encabezado LUKS (si no va a cambiar la clave de cifrado). El encabezado LUKS no almacena el tamaño de la partición, por lo que podría usarse para restaurar prácticamente cualquier tamaño de partición. También restaurar el encabezado es suficiente para el formato de partición LUKS de recreación (es decir, no se requiere luksFormat en este caso). Podría hacerse con luksHeaderRestore(la copia de seguridad se realiza de la misma manera con luksHeaderBackup):

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

...dónde Se debe establecer el UUID de la partición LUKS. Por ejemplo:

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

Resumen

Entonces los pasos de restauración son:

  1. Crea una nueva partición.
  2. Restaurar encabezado LUKS.
  3. Desbloquear partición LUKS
  4. Restaurar el sistema de archivos usando cualquiera de estos:
    • Restaurar imagen del sistema de archivos (p partclone. Ej. Uso ).
    • Recrea el sistema de archivos:
      1. Formatear nuevo dispositivo.
      2. Untar respaldo.
      3. Restaurar el UUID del sistema de archivos, si es necesario.

también

Tenga en cuenta que el uso de etiquetas para LUKS y el sistema de archivos en lugar de UUID podría simplificar la configuración y hacerla más legible.

dess
fuente
2 mejores ideas: 1) NO USE / dev / mapper / sdXY en /etc/fstabO /etc/crypttab use una línea como esta: UUID = <fs_UUID> <UUID> <fs> <opciones> esto es mucho más robusto, especialmente en el caso de particiones de unidades móviles / disk .... 2) mire en cryptsetup-reencrypt y ejecute con el interruptor --uuid (esto establece un uuid definido por el usuario para los bits reencriptados) --- esto es una reencriptación en el lugar, así que si está activado el system driveplazo esto desde un medio vivo o otro sistema operativo ...
linuxdev2013
Gracias, pero en realidad 1) los dispositivos / dev / mapper se usaron solo con la utilidad tune2fs (requiere la ruta del archivo del dispositivo), asumiendo que no necesitamos cambiar nada en la configuración del sistema, y ​​2) la pregunta original es sobre copia de seguridad, no cambiar luksUUID en el lugar (por cierto, luksUUID se puede cambiar sin volver a cifrar el volumen LUKS - usando cryptsetup luksUUID)
dess
0

Para recrear la partición cryptluks con un UUID dado, escriba de forma analógica:

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

(para encriptar / dev / sdb4 partición con cryptluks ),

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

(para abrir el contenedor luks y adjuntarlo como / dev / mapper / sdb4_crypt),

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

(para formatear el contenedor luks como sistema de archivos ext4 y asignar un UUID dado),

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

(para montar el contenedor luks debajo de una ruta determinada).

Cuando finaliza el trabajo, podemos desmontar el contenedor y cerrar el contenedor:

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

Para recrear la partición de intercambio con un UUID dado:

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

El contenedor se puede cerrar con el comando:

cryptsetup luksClose sdc2_crypt
Cristiano
fuente