Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
shred [Le 19/10/2022, 21:49] – [Intégrer Shred à Nautilus] ajout de la méthode simple par installation d'un paquet apt Amiralgabyshred [Le 23/09/2026, 14:38] (Version actuelle) – krodelabestiole
Ligne 1: Ligne 1:
 {{tag>Xenial sécurité}} {{tag>Xenial sécurité}}
- 
----- 
  
 ====== Shred : détruire efficacement un fichier ====== ====== Shred : détruire efficacement un fichier ======
Ligne 7: Ligne 5:
 Si vous supprimez un fichier, il n'est pas totalement supprimé : 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 ê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.+  * Si vous le supprimez sans passer par la corbeille (avec la commande ''[[man>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. 
 + 
 +<note important> 
 +**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]] ([[http://wipe.sourceforge.net/|doc en anglais]]) qui sera intégrable sous Nautilus de la même façon. 
 +</note> 
 + 
 +<note warning> 
 +**Shred** a été conçu pour les [[:disque dur|disques durs]] et ne convient pas aux [[:SSD]].
  
-<note important>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]] ([[http://wipe.sourceforge.net/|doc en anglais]]) qui sera intégrable sous Nautilus de la même façon.</note>+Pour ces derniers, voir la [[https://wiki.archlinux.org/title/Solid_state_drive/Memory_cell_clearing|documentation de Arch]] en anglais. 
 +</note>
  
 ===== Installation ===== ===== Installation =====
  
-Shred fait partie du paquet [[apt>coreutils]]. Ce dernier contient les utilitaires de base essentiels à votre système et devrait donc y être déjà intégré sans autre manipulation.+**Shred** fait partie du paquet [[apt>coreutils]]. Ce dernier contient les utilitaires de base essentiels à votre système et devrait donc y être déjà intégré sans autre manipulation.
  
 ===== Utilisation ===== ===== Utilisation =====
  
-Pour supprimer efficacement un fichier, vous pouvez utiliser la commande ''shred'' (déchiquetage) : <code>shred -n 35 -z -u nomDuFichier</code>+Pour supprimer efficacement un fichier, vous pouvez utiliser la commande ''[[man>shred]]'' (déchiquetage) :<code>shred -n 1 -z -u nomDuFichier</code>
  
 Ceci a pour effet de : Ceci a pour effet de :
-  * remplacer 35 fois les données du fichier par des déchets (''-n 35'')+  * remplacer 1 fois les données du fichier par des déchets (''-n 1'')
   * puis remplacer ces données par des zéros (''-z'') pour masquer le déchiquettage   * puis remplacer ces données par des zéros (''-z'') pour masquer le déchiquettage
   * puis tronquer et supprimer le fichier (''-u'')   * puis tronquer et supprimer le fichier (''-u'')
  
-Cette méthode est déjà plus efficace.+<note> 
 +Réécrire des données aléatoires 35 fois au même endroit comme cette page le proposait est inutile et réduit grandement la durée de vie des [[:SSD]]. 
 + 
 +Le réglage par défaut est de 3, un peu moins dangereux mais tout aussi inutile. 
 +</note>
  
 **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. **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 :+Pour plus d'informations, voir le [[man>shred|manuel]] :
  
   man shred   man shred
 +
 +Pour supprimer rapidement tous les fichiers et sous-répertoires  et le répertoire.
 +<code bash> find répertoire -type f -print0 | xargs -0 shred -fvzun0 && rm -rv répertoire</code>
  
 ===== Configuration ===== ===== Configuration =====
Ligne 50: Ligne 63:
   * Information : Suppression sécurisée   * Information : Suppression sécurisée
   * Chemin : shred   * Chemin : shred
-  * Paramètres : ''-n 35 -z -u %M''+  * Paramètres : ''-n 1 -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) : 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) :
Ligne 74: Ligne 87:
 Name[fr]=Suppression sécurisée des fichiers Name[fr]=Suppression sécurisée des fichiers
 Icon=draw-eraser Icon=draw-eraser
-Exec=shred -n 35 -z -u %U+Exec=shred -n 1 -z -u %U
 </file> </file>
 ==== Intégrer Shred à Nautilus Script ==== ==== Intégrer Shred à Nautilus Script ====
  
-Voici un script pour shred à placer dans le dossier "nautilus scripts" :+Voici un script pour shred à placer dans le dossier ''$HOME/.local/share/nautilus/scripts'', vous pourrez le lancer depuis [[nautilus#menu_contextuel|le menu contextuel de nautilus]] :
 <file bash> <file bash>
 #!/bin/bash #!/bin/bash
  
-if [[ -a /dev/urandom ]]; then +nb_file=$(echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | wc -l) 
-  randomizer=/dev/urandom; +nb_file=$((nb_file-1))
-fi+
  
-SHRED="shred --remove=wipesync --zero --iterations=99 ${randomizer}"+(
  
-echo ${NAUTILUS_SCRIPT_SELECTED_URIS} > ~/.gnome2/temp_shred_list+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 --question --title "Destruction de fichier" --text "Voulez-vous vraiment supprimer ce fichier ?"+) | zenity --progress \ 
 +  --title="Suppression des fichiers" \ 
 +  --text="Suppression en cours..." \ 
 +  --width=600 \ 
 +  --percentage=0
  
-if (( $? == 0 )); then 
- 
-  for file in $(cat ~/.gnome2/temp_shred_list); do 
- 
-    shortfile=$(echo $file | sed -e 's/\%20/\ /g' -e 's/.*\///g') 
- 
-    file_name=$(echo $file | sed -e 's/file:\/\///g' -e 's/\%20/\ /g') 
- 
-    ${SHRED} "${file_name}" 
- 
-    if (( $? == 0 )); then 
-      zenity --info --text="${shortfile} Suppression définitive terminée" --title "Opération réussite" 
-    else 
-      zenity --info --text="${shortfile} Suppression impossible" --title "Opération annulée" 
-    fi 
- 
-  done 
- 
-fi 
- 
-${SHRED} ~/.gnome2/temp_shred_list 
 </file> </file>
 ===== Voir aussi ===== ===== Voir aussi =====
Ligne 124: Ligne 134:
  
 ---- ----
- +//[[:Contributeurs]] : [[:utilisateurs:eks]], [[:utilisateurs:Edouard973]], [[:utilisateurs:alexpayne]], [[:utilisateurs:hizoka]].//
-// Contributeur : [[utilisateurs:eks]] --- //[[:utilisateurs:Edouard973|Edouard973]]  Complèté par : [[utilisateurs:alexpayne]] et [[utilisateurs:hizoka|hizoka]]//+