views:

41

answers:

1

Is there any module which provides somehow basic "secure" deletion, sth. like the Linux utility "wipe", e.g.

import securitystuff

securitystuff.wipe( filename )

I need to protect company source codes which should not be easily retrievable anymore.

Thank you, Marcus

P.S. Yes I know "wipe" is not perfect, e.g. on journalling filesystem. But the security demand is not tooo high.

+2  A: 

There is no such function in standard library and a naive implementation which overwrites each byte of file with a random byte is not too difficult to do e.g.

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

But as suggested in thread http://mail.python.org/pipermail/python-list/2004-September/899488.html this doesn't guarantee wiping due to many reasons, e.g. disk cache, remapping of disk sectors etc etc

So instead of implementing your own wipe easiest would be to call linux wipe from python.

Alternate option is to use srm

Anurag Uniyal
thank you for the srm hint!
Marcus Stein