Shred : détruire efficacement un fichier

Si vous supprimez un fichier, il n'est pas totalement supprimé :

  • Si vous êtes sous Nautilus ou Konqueror, il est juste envoyé à la corbeille (~/.Trash le plus souvent)
  • Si vous le supprimez sans passer par la corbeille (avec la commande rm par exemple), il n'est pas totalement supprimé : l'espace disque correspondant est juste marqué comme étant "libre", mais il existe des logiciels permettant de retrouver ces données.
Shred ne permet de supprimer que des fichiers. Si vous voulez pouvoir supprimer de façon sécurisée un répertoire avec ses sous-dossiers, optez pour Wipe (doc en anglais) qui sera intégrable sous Nautilus de la même façon.

Shred fait partie du paquet coreutils. Ce dernier contient les utilitaires de base essentiels à votre système et devrait donc y être déjà intégré sans autre manipulation.

Pour supprimer efficacement un fichier, vous pouvez utiliser la commande shred (déchiquetage) :

shred -n 35 -z -u nomDuFichier

Ceci a pour effet de :

  • remplacer 35 fois les données du fichier par des déchets (-n 35)
  • puis remplacer ces données par des zéros (-z) pour masquer le déchiquettage
  • puis tronquer et supprimer le fichier (-u)

Cette méthode est déjà plus efficace.

Attention : Il reste encore des informations sur le fichier permettant de le retrouver, notamment si vous utilisez un système de fichier journalisé comme ext3, ReiserFS, XFS, JFS, un système d'écriture, de compression ou de sauvegarde, sur disque (ex : RAID) ou via un réseau. Pour plus d'informations, entrez la commande ci-dessous :

man shred

Pour supprimer rapidement tous les fichiers et sous-répertoires et le répertoire.

 find répertoire -type f -print0 | xargs -0 shred -fvzun0 && rm -rv répertoire

Intégrer Shred à Nautilus

Version simple

Installer nautilus-wipe. vous pouvez aussi l'installer en ligne de commande depuis un terminal.

sudo apt install nautilus-wipe

Ensuite rentrez la commande suivante pour quitter nautilus s'il est lancé.

nautilus -q

par la suite, avec un clic droit, vous verrez l'option "Écraser" dessous l'option "Mettre à la corbeille".

Voir Is there a way to add shred to right-click menu?

Version avec configuration manuelle

  • Libellé : Supprimer avec shred
  • Information : Suppression sécurisée
  • Chemin : shred
  • Paramètres : -n 35 -z -u %M

Valider et fermer. Shred est maintenant intégré à Nautilus. Pour que les modifications soient effectives, il va vous falloir redémarrer Nautilus. Pour cela, vous pouvez choisir de redémarrer votre session ou bien de redémarrer Nautilus (moins propre mais plus rapide pour les tests) :

nautilus -q
nautilus

Vous pouvez maintenant effacer de façon plus sécurisée un fichier en passant par un simple clic droit.

Intégrer Shred aux services menu de KDE

Il suffit de créer le fichier /usr/share/kservices5/ServiceMenus/shred.desktop avec les droits d'administration et d'y copier le code suivant :

[Desktop Entry]
Type=Service
X-KDE-ServiceTypes=KonqPopupMenu/Plugin
MimeType=all/all;
Actions=shred

[Desktop Action shred]
Name=Suppr with shred
Name[fr]=Suppression sécurisée des fichiers
Icon=draw-eraser
Exec=shred -n 35 -z -u %U

Intégrer Shred à Nautilus Script

Voici un script pour shred à placer dans le dossier $HOME/.local/share/nautilus/scripts, vous pourrez le lancer depuis le menu contextuel de nautilus :

#!/bin/bash
 
nb_file=$(echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | wc -l)
nb_file=$((nb_file-1))
 
(
 
i=0
IFS='
'
printf %s "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" |
while read -r file
do
	echo "# suppression de \"${file##*/}\""
	if shred --remove=wipesync --zero --iterations=99 "${file}"
	then
		echo "# suppression de \"${file##*/}\" réussi !"
		i=$((i+1))
		echo "$((i* 100 / nb_file))"
	else
		zenity --error --text="${file} Suppression impossible" --title "Opération annulée"
	fi
done
 
) | zenity --progress \
  --title="Suppression des fichiers" \
  --text="Suppression en cours..." \
  --width=600 \
  --percentage=0

Contributeur : eksEdouard973 Complèté par : alexpayne et hizoka

  • shred.txt
  • Dernière modification: Le 28/12/2022, 18:05
  • par 91.161.152.215