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:
- Démarrer sur une live
- Passer en root avec sudo su -
- Ouvrir la/les partition(s) chiffrée(s) avec le(s) nom(s) que vous voulez
- Montez les partitions dans un répertoire cible chroot (j’utilise /mnt)
- Passez en chroot
- Modifiez /etc/crypttab avec le(s) nom(s) voulu(s)
- Faire la mise à jour de l’initramfs
- 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.
- 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.
- 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
- Passer en chroot et montage finaux
chroot /mnt
mount -a
mount -t efivarfs efivarfs /sys/firmware/efi/efivars
- 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
- Mise à jour initramfs
update-initramfs -k all -u
- 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