Solución al error "cryptsetup: WARNING: Permissive UMASK (0022). Private key material within the initrd might be left unprotected."

Author
Por Darío Rivera
Publicado el en Linux

Si diseñaste tu tabla de particiones para instalar Ubuntu y encriptar algunas particiones con LUKS de vez en cuando vas a tener uno que otro problema. El día de hoy solucionaremos un error que ocurre cuando al instalar algún paquete se actualiza el ramdisk inicial (initramfs) lo que causa que en el próximo booteo del sistema nuestro sistema Linux no arranque de la manera correcta.

El error en cuestión es el siguiente:

cryptsetup: WARNING: Permissive UMASK (0022). Private key material within the initrd might be left unprotected.

Este error indica que el material de clave privada no tiene los permisos adecuados y podría estar desprotegido. La buena noticia es que este error es relativamente fácil de solucionar si conoces cómo está montada tu tabla de particiones.

Solucion

La solución a este problema consiste en asignar los permisos correctos en la configuración del ramdisk inicial. Como el arranque de tu sistema no funciona, deberás configurar una USB con alguna versión de Linux y seguir los pasos que te vamos a describir a continuación En esencia, deberás seguir estos pasos:

- Preparar una USB live de Linux (este paso sale del scope de este post)
- Entrar como chroot al sistema (este paso sale del scope de este post)
- Agregar los permisos en el ramdisk inicial
- Generar lel ramdisk inicial nuevamente

Entrar como chroot al sistema

sudo cryptsetup luksOpen /dev/nvme0n1p1 LUKS_BOOT
sudo cryptsetup luksOpen /dev/nvme0n1p5 nvme0n1p5_crypt
sudo mount /dev/mapper/vgubuntu-root /mnt
sudo mount /dev/mapper/LUKS_BOOT /mnt/boot
sudo mount /dev/nvme0n1p3 /mnt/boot/efi
for n in proc sys dev etc/resolv.conf; do sudo mount --rbind /$n /mnt/$n; done 
sudo chroot /mnt

mount -a
update-initramfs: Generating /boot/initrd.img-6.2.0-20-generic
cryptsetup: WARNING: Permissive UMASK (0022). Private key material within the 
    initrd might be left unprotected.
update-initramfs: Generating /boot/initrd.img-5.19.0-40-generic
cryptsetup: WARNING: Permissive UMASK (0022). Private key material within the 
    initrd might be left unprotected.
root@ubuntu:/# dpkg -l | tail -n +6 | grep -E 'linux-image-[0-9]+' | grep ii
ii  linux-image-5.19.0-40-generic  5.19.0-40.41  amd64  Signed kernel image generic
ii  linux-image-6.2.0-20-generic   6.2.0-20.20   amd64  Signed kernel image generic

Agregar los permisos en el ramdisk inicial

echo "UMASK=0077" >> /etc/initramfs-tools/initramfs.conf

Generar el ramdisk inicial nuevamente

update-initramfs -u -k all
update-initramfs: Generating /boot/initrd.img-6.2.0-20-generic
update-initramfs: Generating /boot/initrd.img-5.19.0-40-generic

Acerca de Darío Rivera

Author

Application Architect at Elentra Corp . Quality developer and passionate learner with 10+ years of experience in web technologies. Creator of EasyHttp , an standard way to consume HTTP Clients.

LinkedIn Twitter Instagram

Sólo aquellos que han alcanzado el éxito saben que siempre estuvo a un paso del momento en que pensaron renunciar.