Réinitialiser une machine Linux

De Adadov.net wiki

Remettre à zéro une station de travail Linux demande de faire attention à quelques détails.

Détails

Afin de ne pas copier des données inutilement ou laisser des informations qui pourraient compromettre la sécurité. Il faut supprimer toutes les infos qui ne sont pas utiles à la nouvelle machine.

Supprimer les fichiers temporaires

[root@linux] # /usr/bin/rm -rf /var/tmp/*dblclick to copy
[root@linux] # /usr/bin/rm -rf /tmp/*

Vider les fichiers de logs

[root@linux] # /usr/bin/cat /dev/null > /var/log/audit/audit.logdblclick to copy
[root@linux] # /usr/bin/cat /dev/null > /var/log/wtmp
[root@linux] # /usr/bin/cat /dev/null > /var/log/lastlog
[root@linux] # /usr/bin/cat /dev/null > /var/log/grubby

Suppression des caches

[root@linux] # /usr/bin/dnf clean alldblclick to copy

Suppression des clés SSH

Pour éviter que des machines puissent se faire passer les unes pour les autres, il faut réinitialiser les identifiants SSH.

Il suffit simplement de supprimer les fichiers contenant les clés pour qu'ils soient générés au prochain démarrage.

[root@linux] # /usr/bin/rm -f /etc/ssh/*key*dblclick to copy
[root@linux] # /usr/bin/rm -f ~root/.ssh/known_hosts

Remise à zéro de l'UUID machine

Comme pour SSH il suffit de supprimer le fichier pour qu'un nouveau soit généré au prochain démarrage.

[root@linux] # /usr/bin/rm -f /etc/machine-iddblclick to copy

Utilisation de sys-unconfig

Cette partie doit se faire en dernière, le script fera le nettoyage final puis demandera que le firstboot se lance au prochain démarrage.

Puis il éteindra la machine.

Script

#!/usr/bin/env bash

/usr/bin/rm -rf /var/tmp/*
/usr/bin/rm -rf /tmp/*

/usr/bin/cat /dev/null > /var/log/audit/audit.log
/usr/bin/cat /dev/null > /var/log/wtmp
/usr/bin/cat /dev/null > /var/log/lastlog
/usr/bin/cat /dev/null > /var/log/grubby

/usr/bin/dnf clean all

/usr/bin/rm -f /etc/ssh/*key*
/usr/bin/rm -f /etc/machine-id

/usr/bin/rm -f ~root/.ssh/known_hosts

/usr/sbin/sys-unconfig