# É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 : ```bash 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 : ```bash systemctl is-active systemd-homed.service ``` Résultat attendu : `active`. À ce stade `alice` ne doit plus être un compte UNIX classique : ```bash 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 : ```bash 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 : ```bash 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 : ```bash 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 ```bash 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 ```bash 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 ```bash sudo homectl activate alice findmnt /home/alice homectl inspect alice ``` Puis : ```bash sudo homectl deactivate alice findmnt /home/alice || echo "OK : home démonté" homectl inspect alice ``` ## 7. Tester la recovery key ```bash 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 : ```bash findmnt "$HOME" homectl inspect alice ``` Attendu : `/home/alice` monté et home `active`. Déconnecter complètement Alice, revenir sous `localadm`, puis : ```bash 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 : ```bash 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.