Files
nixos-workstations/PRODUCTION-CHECKLIST.md

79 lines
2.0 KiB
Markdown

# Checklist de validation — v1.8 LAB
Cette checklist correspond au workflow de provisioning `systemd-homed + LUKS2 + FIDO2`.
## État de départ
- `localadm` existe et reste administrateur local classique ;
- `alice` n'existe pas encore ;
- `/home/alice.home` n'existe pas ;
- la YubiKey est vierge/reset FIDO2 et ne possède aucun PIN.
## Construction puis activation
Depuis `localadm` :
```bash
cd ~/nixos-workstations
sudo nixos-rebuild build \
-I nixos-config="$PWD/configuration.nix"
```
Si le build est OK, activer la génération :
```bash
sudo nixos-rebuild switch \
-I nixos-config="$PWD/configuration.nix"
```
`build` seul ne modifie pas le système actif. La précréation d'Alice est exécutée lors de l'activation (`switch`).
## Précréation attendue
Le déploiement doit avoir créé :
- le compte `alice` via `systemd-homed` ;
- `/home/alice.home` en LUKS2 ;
- le mot de passe temporaire LAB `LaboTest@1980` ;
- aucun token FIDO2 ;
- aucune recovery key.
Le correctif SDDM doit afficher Alice dans le greeter.
## Première session Alice
Alice se connecte avec :
```text
LaboTest@1980
```
L'assistant doit démarrer automatiquement et effectuer, dans cet ordre :
1. changement du mot de passe temporaire ;
2. création du premier PIN sur la YubiKey vierge ;
3. enrôlement FIDO2 de la YubiKey dans le home `systemd-homed`.
Pendant l'étape FIDO2, Alice saisit son **nouveau mot de passe** et son **PIN YubiKey**, puis touche la clé quand elle clignote.
**Aucune recovery key ne doit être demandée.**
## État final attendu
Les trois marqueurs doivent exister :
```text
~/.local/state/nixos-workstations/password-initialized
~/.local/state/nixos-workstations/yubikey-pin-created
~/.local/state/nixos-workstations/yubikey-fido-enrolled
```
Après déconnexion :
1. connexion avec YubiKey + PIN : OK ;
2. connexion avec mot de passe : OK ;
3. les deux ouvrent le même `/home/alice` LUKS2.
La recovery key d'administration sera ajoutée dans une étape ultérieure ; elle ne fait volontairement pas partie de la v1.8.