Outils pour utilisateurs

Outils du site


kb:linux:donnees:full_disk_encryption_sous_arch_linux_systemd

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
kb:linux:donnees:full_disk_encryption_sous_arch_linux_systemd [2019/09/26 14:36] – créée beukb:linux:donnees:full_disk_encryption_sous_arch_linux_systemd [2021/06/15 17:53] (Version actuelle) beu
Ligne 1: Ligne 1:
 ======Full Disk Encryption sous Arch Linux (systemd)====== ======Full Disk Encryption sous Arch Linux (systemd)======
  
-:!: Cette page est en cours de rédaction ! 
 =====Introduction===== =====Introduction=====
  
 Cette documentation permet d'installer Arch Linux avec du chiffrement intégrale du disque dur en mode EFI. Cette documentation permet d'installer Arch Linux avec du chiffrement intégrale du disque dur en mode EFI.
  
 +Une autre méthode est aussi décrite sur le wiki, mais elle est beaucoup moins bien sur bien des points.
  
-^ AVANTAGE                                       INCONVENNIANT                                   ^+^ AVANTAGE                                       INCONVENIENT                                   ^
 | Chiffrement quasi intégrale          | initramfs non chiffré!        | | Chiffrement quasi intégrale          | initramfs non chiffré!        |
 | Utilisation de l'EFI                           | En cas d'erreur a la première saisie, il faudra taper le mot de passe autant de fois qu'il y a de partitions                                              | | Utilisation de l'EFI                           | En cas d'erreur a la première saisie, il faudra taper le mot de passe autant de fois qu'il y a de partitions                                              |
Ligne 31: Ligne 31:
 |/dev/sda1             |/dev/sda2              |/dev/sda3              |/dev/sda4              | |/dev/sda1             |/dev/sda2              |/dev/sda3              |/dev/sda4              |
 |UUID=<UUID-PART-ESP>  |UUID=<UUID-PART-BOOT>  |UUID=<UUID-PART-ROOT>  |UUID=<UUID-PART-SWAP>  | |UUID=<UUID-PART-ESP>  |UUID=<UUID-PART-BOOT>  |UUID=<UUID-PART-ROOT>  |UUID=<UUID-PART-SWAP>  |
-|non-chiffré           |chiffré                |chiffré                |chiffré                |+|non-chiffré           |non-chiffré            |chiffré                |chiffré                |
 +----------------------+-----------------------+-----------------------+-----------------------+ +----------------------+-----------------------+-----------------------+-----------------------+
 </code> </code>
Ligne 104: Ligne 104:
 # mkdir /mnt/boot/efi # mkdir /mnt/boot/efi
 </code><code bash> </code><code bash>
-# mount /dev/sda1 /mnt/+# mount /dev/sda1 /mnt/boot/efi
 </code> </code>
  
Ligne 113: Ligne 113:
 On va ensuite mettre a jour les clés des packet On va ensuite mettre a jour les clés des packet
  
-<code>+<code bash>
 # pacman -Sy archlinux-keyring # pacman -Sy archlinux-keyring
 </code> </code>
Ligne 119: Ligne 119:
 et enfin on installe Arch en lancant : et enfin on installe Arch en lancant :
  
-<code>+<code bash>
 # pacstrap /mnt base base-devel # pacstrap /mnt base base-devel
 </code> </code>
Ligne 126: Ligne 126:
 puis on se chroot pour faire la configuration: puis on se chroot pour faire la configuration:
  
-<code>+<code bash>
 # arch-chroot /mnt # arch-chroot /mnt
 </code> </code>
Ligne 134: Ligne 134:
 On commence par configurer le time zone : On commence par configurer le time zone :
  
-<code>+<code bash>
 # ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime # ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
 +</code><code bash>
 # hwclock --systohc # hwclock --systohc
 </code> </code>
Ligne 141: Ligne 142:
 Puis on génère le langage français : Puis on génère le langage français :
  
-<code>+<code bash>
 # echo "fr_FR.UTF-8 UTF-8" > /etc/locale.gen && locale-gen && echo "LANG=fr_FR.UTF-8" > /etc/locale.conf && echo "KEYMAP=fr" > /etc/vconsole.conf # echo "fr_FR.UTF-8 UTF-8" > /etc/locale.gen && locale-gen && echo "LANG=fr_FR.UTF-8" > /etc/locale.conf && echo "KEYMAP=fr" > /etc/vconsole.conf
 </code> </code>
Ligne 147: Ligne 148:
 Puis on installe les paquets utiles : Puis on installe les paquets utiles :
  
-<code> +<code bash
-# pacman -Syu efibootmgr grub+# pacman -Syu efibootmgr grub mkinitcpio linux
 </code> </code>
  
Ligne 155: Ligne 156:
  
 <code> <code>
-Arch-0000+arch-0000
 </code> </code>
  
Ligne 163: Ligne 164:
 127.0.0.1 localhost.localdomain localhost 127.0.0.1 localhost.localdomain localhost
 ::1 localhost.localdomain localhost ::1 localhost.localdomain localhost
-127.0.1.1 Arch-0000.localdomain Arch-0000+127.0.1.1 arch-0000.localdomain arch-0000
 </code> </code>
  
Ligne 171: Ligne 172:
  
 <code> <code>
-GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=UUID=<UUID-PART-SDA3>:cryptroot resume=UUID=<UUID-VOL-CRYPTOSWAP>"+GRUB_CMDLINE_LINUX_DEFAULT="quiet splash luks.name=<UUID-ROOT>=cryptroot luks.name=<UUID-SWAP>=cryptswap luks.option=<UUID-SWAP>=swap root=UUID=<UUID-VOL-CRYPTROOT> resume=UUID=<UUID-VOL-CRYPTSWAP>"
 </code> </code>
  
 ainsi que la ligne suivante: ainsi que la ligne suivante:
- 
-<code> 
-GRUB_TERMINAL_INPUT=at_keyboard 
-</code> 
  
 et pour finir décommente la ligne :  et pour finir décommente la ligne : 
Ligne 185: Ligne 182:
 GRUB_ENABLE_CRYPTODISK=y GRUB_ENABLE_CRYPTODISK=y
 </code> </code>
- 
-on ajoute dans le fichier /etc/grub.d/40_custom : 
- 
-<code> 
-insmod keylayouts 
-keymap /boot/grub/fr.gkb 
-</code> 
- 
-et on copie le fichier {{ :kb:linux:donnees:fr.gkb |fr.gkb}} dans le dossier **/boot/grub/** 
  
 Ensuite on génère la config grub : Ensuite on génère la config grub :
  
-<code>+<code bash>
 # grub-mkconfig -o /boot/grub/grub.cfg # grub-mkconfig -o /boot/grub/grub.cfg
 +</code><code bash>
 # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=LINUX --recheck # grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=LINUX --recheck
 </code> </code>
  
-Puis régénère le RAMDISK EFI de grub pour qu'il ajoute le clavier : +Maintenant on va générer l'image **initramfs** pour le déchiffrement, pour cela il faut aller modifier le fichier **/etc/mkinitcpio.conf** en modifiant le champ **HOOKS** de cet manière : ((Si vous utilisez plymouthil faut ajouter **sd-plymouth** après **systemd**))
- +
-<code> +
-# grub-mkstandalone -d /usr/lib/grub/x86_64-efi/ -O x86_64-efi --modules="part_gpt part_msdos crypto cryptodisk luks disk diskfilter" -o "/boot/efi/EFI/LINUX/grubx64.efi" "boot/grub/grub.cfg=/boot/grub/grub.cfg" "boot/grub/fr.gkb=/boot/grub/fr.gkb" +
-</code> +
- +
-Maintenant on va générer l'image **initramfs** pour le déchiffrement, pour cela il faut aller modifier le fichier **/etc/mkinitcpio.conf** en modifiant le champ **HOOKS** de cet manière : +
- +
-<code> +
-HOOKS=(base udev autodetect modconf keyboard keymap block encrypt openswap resume filesystems fsck) +
-</code> +
- +
-ainsi que le champ **FILES** comme ceci : +
- +
-<code> +
-FILES=(/crypto_keyfile.bin) +
-</code> +
- +
-Ensuite on va créer le HOOK openswapdonc on va créer le fichier **/etc/initcpio/install/openswap** comme ceci : +
- +
-<code file openswap> +
-build () +
-+
-add_runscript +
-+
-help () +
-+
-cat<<HELPEOF +
-This opens the swap encrypted partition /dev/sda3 in /dev/mapper/cryptswap +
-HELPEOF +
-}  +
-</code> +
- +
-ainsi que le fichier **/etc/initcpio/hooks/openswap** +
- +
-<code file openswap> +
-run_hook () +
-+
-cryptsetup open --key-file=/crypto_keyfile.bin /dev/disk/by-uuid/<UUID-PART-SWAP> cryptswap +
-rm -f /crypto_keyfile.bin +
-+
-</code> +
- +
-puis on exécute la commande(( Cette commande (et la suivantedevra peut-être être retapé en cas de mise a jour de initcpio. Elle sera nécessaire si vous avez l'erreur "failed to open key file" lors du lancement du hook "openswap" au démarrage )) :+
  
 <code> <code>
-# sed -i 's/rm -f ${ckeyfile}//g' /usr/lib/initcpio/hooks/encrypt+HOOKS=(base systemd autodetect modconf keyboard sd-vconsole block sd-encrypt filesystems fsck)
 </code> </code>
  
 puis on génère l'image : puis on génère l'image :
  
-<code>+<code bash>
 # mkinitcpio -p linux # mkinitcpio -p linux
 </code> </code>
- 
-puis on créer le fichier **/etc/crypttab** en ajoutant les volumes suivants : 
- 
-<code> 
-cryptoboot     UUID=<UUID-PART-BOOT>     /crypto_keyfile.bin 
-cryptoroot     UUID=<UUID-PART-ROOT>     /crypto_keyfile.bin 
-</code> 
- 
-à noté que le déchiffrement de la partition de la partition **swap** à déjà été réalisé durant le HOOK de l'**initramfs**, d'où son absence dans le fichier. 
  
 Et pour finir le fichier **/etc/fstab** : Et pour finir le fichier **/etc/fstab** :
  
 <code> <code>
-UUID=<UUID-PART-ESP>         /boot/efi         vfat        defaults         0 1 +UUID=<UUID-ESP>         /boot/efi         vfat        defaults         0 1 
-UUID=<UUID-VOL-BOOT>         /boot             ext4        defaults         0 1+UUID=<UUID-BOOT>        /boot             ext4        defaults         0 1
 UUID=<UUID-VOL-ROOT>         /                 ext4        defaults         0 1 UUID=<UUID-VOL-ROOT>         /                 ext4        defaults         0 1
-UUID=<UUID-VOL-SWAP>         none              swap        defaults         2+UUID=<UUID-VOL-SWAP>         none              swap        defaults         0
 </code> </code>
 +
kb/linux/donnees/full_disk_encryption_sous_arch_linux_systemd.1569508570.txt.gz · Dernière modification : 2019/09/26 14:36 de beu