2010-06-21 5 views
3

Existe-t-il un module fournissant une suppression "sécurisée" de base, sth. comme l'utilitaire Linux "wipe", par ex. Je dois protéger le code source de l'entreprise qui ne devrait plus être facilement récupérable.Comment effacer en toute sécurité un fichier/répertoire en Python?

P.S. Oui, je sais que "essuyer" n'est pas parfait, par ex. sur le système de fichiers de journalisation. Mais la demande de sécurité n'est pas trop élevée.

Répondre

3

Il n'existe pas de telle fonction dans la bibliothèque standard et une implémentation naïve qui écrase chaque octet de fichier avec un octet aléatoire n'est pas trop difficile à faire, par ex.

f = open(path, "wb") 
f.write("*"*os.path.getsize(path)) 
f.close() 
os.unlink(path) 

Mais comme le suggère fil http://mail.python.org/pipermail/python-list/2004-September/899488.html cela ne garantit pas essuyer en raison de nombreuses raisons, par exemple cache disque, remappage des secteurs disque etc etc

Donc, au lieu d'implémenter votre propre chiffrement plus facile serait d'appeler linux wipe à partir de python.

Autre option est d'utiliser srm

+0

merci pour l'astuce srm! –

Questions connexes