Modifier le nom des devices chiffrés

Tags: #<Tag:0x00007fb8ed865e18> #<Tag:0x00007fb8ed865c88> #<Tag:0x00007fb8ed865af8>

Bonjour,

Peut-être, comme moi, vous avez voulu un jour changer le nom de votre device chiffré luks.
Quand on a un système chiffré sur plusieurs disque il arrive souvent que les nom de disque à l’installation aient changé, et du coup le nom du device chiffré xxxxx_crypt ne soit plus pertinent.

Dans mes installation, je met un nom qui n’est pas forcement en relation avec les disques.

Mais on ne peut pas modifier le nom affecté dans le cadre d’une installation, encore moins lors d’une installation preseed.
En effet, le changement du nom doit se faire avant leur ouverture. Donc impossible de le faire avec un système en cours d’utilisation. L’initramfs va prendre en compte ce qui se trouve dans /etc/crypttab, mais la réalité du montage courant doit être la même.

Pour changer ça, il y a une méthode. Pas la plus simple peut-être, mais elle est efficace.

Le principe est simple:

  1. Démarrer sur une live
  2. Passer en root avec sudo su -
  3. Ouvrir la/les partition(s) chiffrée(s) avec le(s) nom(s) que vous voulez
  4. Montez les partitions dans un répertoire cible chroot (j’utilise /mnt)
  5. Passez en chroot
  6. Modifiez /etc/crypttab avec le(s) nom(s) voulu(s)
  7. Faire la mise à jour de l’initramfs
  8. Redémarrer

Par acquis de conscience, et par sécurité une fois redémarré je refait l’update-initramfs au cas où.

Prenons l’exemple avec un système sur deux disques découpé comme suit!
/dev/disk1:

  • Partition 1 pour /boot/efi
  • Partition 2 chiffrée

/ dev/disk2:

  • entièrement chiffré
    les partitions sont toutes sur du LVM.

Je passe sur 1. et 2.

  1. Ouvrir les partition chiffrées:
cryptsetup luksOpen /dev/disk1_partition1 MonNom1_crypt
cryptsetup luksOpen /dev/disk2 MonNom2_crypt

MonNom1 et MonNom2 doivent être différent.

  1. Montage:
mount /dev/mapper/vg-root /mnt
mount -t proc proc /mnt/proc
mount -t sysfs sys /mnt/sys
mount -o bind /dev /mnt/dev
mount -t devpts pts /mnt/dev/pts
  1. Passer en chroot et montage finaux
chroot /mnt
mount -a
mount -t efivarfs efivarfs /sys/firmware/efi/efivars
  1. modifier /etc/cryptab:
    Le fichier cryptab sera le suivant:
MonNom1_crypt UUID=<l'uuid de disk1_partition1 crypto_luks> none luks,x-initrd.attach
MonNom2_crypt UUID=<l'uuid de disk2 crypto_luks> none luks,x-initrd.attach
  1. Mise à jour initramfs
update-initramfs -k all -u
  1. On redemarre:
reboot

Et voilà le tour est joué.
Voici un exemple de résultat sur une VM chez moi:

nvme0n2                   crypto_LUKS 2                Enedwaith_2    <uuid>                 
└─Enedwaith2_crypt        LVM2_member LVM2 001                        <uuid>               
  └─vg-home            ext4        1.0              HOME           <uuid>     49,9G     0% /home
nvme0n1                                                                                                                     
├─nvme0n1p1               vfat        FAT32                           E904-AFBF                                 813M    15% /boot/efi
└─nvme0n1p2               crypto_LUKS 2                Enedwaith_1    <uuid>                  
  └─Enedwaith1_crypt      LVM2_member LVM2 001                        <uuid>               
    ├─vg-swap          swap        1                               <uuid>                  [SWAP]
    ├─vg-boot          ext4        1.0              BOOT           <uuid>    786,1M     8% /boot
    ├─vg-root          ext4        1.0              ROOT           <uuid>      3,5G    59% /
    ├─vg-home          ext4        1.0              HOME           <uuid>     49,9G     0% /home
    ├─vg-var           ext4        1.0              VAR            <uuid>      8,7G     6% /var
    ├─vg-var_log       ext4        1.0              LOG            <uuid>     3,6G     1% /var/log
    ├─vg-var_log_audit ext4        1.0              AUDIT          <uuid>     3,6G     0% /var/log/audit
    ├─vg-var_tmp       ext4        1.0              VARTMP         <uuid>     1,8G     0% /var/tmp
    └─vg-tmp           ext4        1.0              TMP            <uuid>     1,8G     0% /tmp
1 J'aime