Files
nixos-workstations/STEP2-HOMED-LUKS-LAB.md
T

3.6 KiB

Étape 2 LAB — systemd-homed + LUKS2

Objectif

Valider uniquement :

  • Alice gérée par systemd-homed ;
  • /home/alice stocké dans un conteneur LUKS2 individuel /home/alice.home ;
  • déverrouillage par mot de passe ;
  • recovery key ;
  • ouverture de session KDE/SDDM ;
  • démontage du home après la dernière session.

La YubiKey n'est pas encore enrôlée dans le home. L'assistant graphique est temporairement désactivé.

0. Travailler depuis localadm

Fermer complètement toute session alice, puis ouvrir une session localadm (ou un TTY localadm).

1. Activer la configuration en mode test

Depuis le dépôt :

sudo nixos-rebuild build -I nixos-config="$PWD/configuration.nix"
sudo nixos-rebuild dry-activate -I nixos-config="$PWD/configuration.nix"
sudo nixos-rebuild test -I nixos-config="$PWD/configuration.nix"

Contrôler :

systemctl is-active systemd-homed.service

Résultat attendu : active.

À ce stade alice ne doit plus être un compte UNIX classique :

getent passwd alice

Avant homectl create, la commande ne doit rien retourner.

2. Mettre de côté l'ancien home vide si nécessaire

Vérifier :

sudo ls -ld /home/alice /home/alice.home 2>/dev/null || true

Si /home/alice existe encore à cause de l'ancien compte classique, le renommer plutôt que le supprimer :

sudo mv /home/alice /home/alice.pre-homed

Si /home/alice.home existe déjà, ne pas continuer : il faut d'abord comprendre son origine.

3. Créer Alice avec un home LUKS2

LAB : volume fixe de 10 Gio, ext4 à l'intérieur du LUKS2 :

sudo homectl create alice \
  --real-name="Alice" \
  --storage=luks \
  --fs-type=ext4 \
  --disk-size=10G \
  --access-mode=0700 \
  --recovery-key=yes

homectl demande interactivement le mot de passe d'Alice. Utiliser pour ce test le mot de passe que l'on souhaite réellement tester avec SDDM.

Copier immédiatement la recovery key affichée et la conserver hors du poste.

4. Vérifier l'identité homed et le stockage

homectl list
homectl inspect alice
getent passwd alice
sudo ls -lh /home/alice.home

Le compte doit maintenant être résolu via NSS même s'il n'est pas présent comme compte classique dans /etc/passwd.

5. Tester le mot de passe sans SDDM

homectl authenticate alice

Entrer le mot de passe créé à l'étape 3. Cette commande valide le secret sans changer l'état actif/inactif du home.

6. Tester activation / montage LUKS2

sudo homectl activate alice
findmnt /home/alice
homectl inspect alice

Puis :

sudo homectl deactivate alice
findmnt /home/alice || echo "OK : home démonté"
homectl inspect alice

7. Tester la recovery key

homectl authenticate alice

Cette fois, saisir la recovery key à la place du mot de passe. Elle doit être acceptée.

8. Tester KDE / SDDM

Déconnecter localadm, puis ouvrir la session alice dans SDDM avec le mot de passe créé avec homectl.

Dans la session Alice :

findmnt "$HOME"
homectl inspect alice

Attendu : /home/alice monté et home active.

Déconnecter complètement Alice, revenir sous localadm, puis :

homectl inspect alice
findmnt /home/alice || echo "OK : home inactif et démonté"

9. Ne faire switch qu'après validation

Si toutes les vérifications ci-dessus passent :

sudo nixos-rebuild switch -I nixos-config="$PWD/configuration.nix"

Sinon, la génération test n'est pas persistante après redémarrage et localadm reste le compte de récupération.