web-dev-qa-db-fra.com

Utiliser `shred` depuis la ligne de commande

Je dois effacer certains fichiers en toute sécurité. J’avais déjà utilisé shred sur des systèmes Linux, j’ai donc cherché autour de moi et découvert que shred faisait partie du paquetage coreutils dans macports. J'ai fait port install coreutils pour installer coreutils, mais je ne trouve toujours pas shred dans la ligne de commande.

Comment faire pour que shred fonctionne sur la ligne de commande de mon mac? Si cela compte, j'utilise Mac OS X 10.7.5 (Lion)

44
inspectorG4dget

port install coreutils ajoute un préfixe g aux noms des fichiers binaires, ainsi shred est /opt/local/bin/gshred.

27
Lri

OSX a une commande intégrée srm pour supprimer des fichiers en toute sécurité. Voir https://developer.Apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/srm.1.html . Vous pouvez également utiliser rm -P pour écraser trois fois les fichiers contenant des séquences d'octets.

Avec sierra ou ultérieur, macOS ne comprend plus srm. Mais les utilisateurs peuvent l'installer avec homebrew:

brew install homebrew/dupes/srm && brew link --force homebrew/dupes/srm
57
Lily Hahn

La réponse de @ user495470 est correcte pour la question posée. Le problème n'est ni srm ni shred n'a vraiment de sens pour les systèmes modernes.

Ceci est principalement dû aux SSD. Contrairement aux disques magnétiques, les disques modernes compatibles TRIM effacent automatiquement les données supprimées en arrière-plan.

Les disques SSD effectuent également un nivellement d'usure. Cela rend les tentatives de "réécriture" d'un fichier à la fois vaines (vous allez écrire dans un emplacement physique différent) et indésirables (elles contribuent inutilement à l'usure du disque).

TRIM est activé sur tous les Mac équipés d’un SSD.

L'autre problème concerne le système de fichiers, en particulier les systèmes de fichiers journalisés, qui peuvent conserver une copie des données ailleurs avant leur écriture.

Même sur un support magnétique, cela peut poser des problèmes à la fois srm :

Tous les utilisateurs [..] doivent savoir que srm ne fonctionne que sur les systèmes de fichiers qui écrasent les blocs en place. En particulier, cela fonctionnera PAS sur [..] la grande majorité des systèmes de fichiers journalisés.

Et shred :

[..] shred repose sur une hypothèse très importante: que le système de fichiers écrase les données en place. [..] de nombreux systèmes de fichiers modernes ne répondent pas à cette hypothèse. Les exceptions comprennent: les systèmes de fichiers journalisés ou structurés en journaux [..]

Les volumes HFS Plus sont journalisés par défaut depuis Mac OS X v10.3.

Ces jours-ci, le meilleur moyen de sécuriser les fichiers "supprimés" est d'activer FileVault (afin qu'ils ne créent jamais un disque non crypté), puis de les supprimer et de laisser TRIM le trier.

Si, par malchance, vous utilisez un support magnétique, désactivez la journalisation et, pour une raison quelconque, vous ne pouvez pas chiffrer le disque, vous disposez des options suivantes:

  • Utilisez rm -P qui écrase les fichiers avec 0xff, puis 0x00, puis à nouveau 0xff
  • Installez coreutils pour gshred (c.-à-d. brew install coreutils && gshred secrets.txt)
  • srm a été supprimé de homebrew-dupes et homebrew-core mais quelqu'un apublié un tap ici ça marche (ie. brew install khell/homebrew-srm/srm && srm secrets.txt)
  • Destruction physique du support :)
18
Molomby