« Réinitialiser une machine Linux » : différence entre les versions
Aucun résumé des modifications |
|||
Ligne 30 : | Ligne 30 : | ||
On va créer un fichier de service systemd personnalisé pour le service firstboot afin qu'il génère automatiquement un nouvel UUID pour la machine et qu'il nous donne un prompt au prochain démarrage pour saisir le nom de la machine. | On va créer un fichier de service systemd personnalisé pour le service firstboot afin qu'il génère automatiquement un nouvel UUID pour la machine et qu'il nous donne un prompt au prochain démarrage pour saisir le nom de la machine. | ||
{{LxTerm|user=root|/usr/bin/rm -f /etc/machine-id /etc/hostname|text=}}Le fichier personnalisé est {{Path|/etc/systemd/system/systemd-firstboot.service}}<syntaxhighlight lang="ini"> | {{LxTerm|user=root|/usr/bin/rm -f /etc/machine-id /etc/hostname|text=}} | ||
Le fichier personnalisé est {{Path|/etc/systemd/system/systemd-firstboot.service}}<syntaxhighlight lang="ini"> | |||
Contenu du fichier /etc/systemd/system/systemd-firstboot.service | Contenu du fichier /etc/systemd/system/systemd-firstboot.service | ||
</syntaxhighlight> | </syntaxhighlight> |
Version du 12 novembre 2018 à 15:25
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.log | dblclick 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 all | dblclick 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 |
RAZ UUID et Hostname
La remise à zéro de ces paramètres demande quelques modifications pour qu'elle soit optimale.
On va créer un fichier de service systemd personnalisé pour le service firstboot afin qu'il génère automatiquement un nouvel UUID pour la machine et qu'il nous donne un prompt au prochain démarrage pour saisir le nom de la machine.
[root@linux] # | /usr/bin/rm -f /etc/machine-id /etc/hostname | dblclick to copy |
Le fichier personnalisé est /etc/systemd/system/systemd-firstboot.service
Contenu du fichier /etc/systemd/system/systemd-firstboot.service
[root@linux] # | /usr/bin/systemctl enable systemd-firstboot | dblclick 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.
[root@linux] # | /usr/sbin/sys-unconfig | dblclick to copy |
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 /etc/hostname
/usr/bin/rm -f ~root/.ssh/known_hosts
/usr/bin/systemctl enable systemd-firstboot
/usr/sbin/sys-unconfig