Les systèmes de fichiers temporaires sont nettoyés (systemd-tmpfiles)
Exige que systemd-tmpfiles-clean.timer soit actif, afin que /tmp et /var/tmp soient purgés selon les règles tmpfiles.d au lieu de croître sans limite. Ce contrôle natif pavois de la famille growth-* suit la règle de la famille : tout système de fichiers que pavois sépare (et la recette de partitionnement pavois sépare /tmp et /var/tmp) doit porter un mécanisme qui l'empêche de se remplir.
Vérifié sur l’état résolu en cours d’exécution (ex. sshd -T, sysctl, systemctl show), attrape les drop-ins et Include qu’une lecture de fichier raterait. Réserve : runtime ≠ persistance ; une valeur correcte maintenant peut ne pas survivre à un redémarrage.
Ce que vérifie Pavois
Pavois demande à systemd l'état à l'exécution de la minuterie (systemctl is-active systemd-tmpfiles-clean.timer), qui doit valoir exactement active. Une minuterie peut exister sur le disque tout en étant disabled, masked, ou n'avoir jamais été démarrée : seul l'état résolu prouve que le nettoyage se déclenchera. Le contrôle audite le nettoyeur, pas la taille actuelle de /tmp, car un /tmp vide aujourd'hui ne dit rien de celui qui se remplira dans trois semaines.
describe command('systemctl is-active systemd-tmpfiles-clean.timer 2>/dev/null') do
its('stdout.strip') { should eq 'active' }
endComment vérifier qu’elle est appliquée
Vérifiez la minuterie et sa prochaine échéance, puis simulez le nettoyage :
systemctl is-active systemd-tmpfiles-clean.timer
systemctl list-timers systemd-tmpfiles-clean.timer --all
systemd-tmpfiles --clean --dry-run
La simulation affiche exactement les entrées que la prochaine passe supprimerait, et sous quelle règle tmpfiles.d.
Inspecter et investiguer
Chaque passe est journalisée par journalctl -u systemd-tmpfiles-clean.service, à raison d'une ligne par chemin supprimé. Ce journal d'unité constitue la piste d'audit : il montre ce qui a été supprimé et quand, exactement ce dont vous avez besoin le jour où un service se plaint que son fichier d'état a disparu de /tmp.
Remédiation
Pavois gère systemd-tmpfiles-clean.timer comme une ressource de service avec les actions enable et start : la minuterie est activée pour le prochain démarrage et démarrée dans le système courant, de sorte que le nettoyage n'attend pas un redémarrage. La politique de vieillissement n'est pas surchargée : pavois s'appuie sur les règles tmpfiles.d de la distribution (typiquement 10 jours pour /tmp, 30 pour /var/tmp), qui restent à votre main.
Pavois applique ceci avec son propre moteur harden, le plan ci-dessous, pas un script shell :
| action | enable, start |
|---|---|
| name | systemd-tmpfiles-clean.timer |
| resource | service |
pavois harden plan localoù la cible est local, un alias SSH user@hôte, ou un conteneur , Docs
Impact & précautions
Une fois la minuterie active, les fichiers de /tmp et /var/tmp plus vieux que l'âge configuré sont supprimés. Les applications qui conservent (à tort) des sockets, verrous ou états durables sous /tmp peuvent casser dès la première passe. Inventoriez-les avant l'activation, puis déplacez l'état persistant vers /run (volatil) ou /var/lib (durable), ou taillez une exemption avec votre propre règle tmpfiles.d. C'est la version peu coûteuse d'une leçon que la famille growth-* a apprise cher : un hôte durci dont le système de fichiers de journaux séparé a atteint 100 % et coupait la machine six secondes après chaque démarrage, tous contrôles au vert.