This is srm, a secure replacement for rm(1). Unlike the standard rm, it overwrites the data in the target files before unlinkg them. This prevents command-line recovery of the data by examining the raw block device. It may also help frustrate physical examination of the disk, although it's unlikely that completely protects against this type of recovery.
Srm uses algorithms found in _Secure Deletion of Data from Magnetic and Solid-State Memory_ by Peter Gutmann and THC Secure Delete (the overwrite, truncate, rename, unlink sequence).
Srm was originally released under the GPL. Versions 1.1 and later are released under the X11 license, which is much less restrictive. For your convience, some commonly needed modules are distributed in the /lib directory. These may be under different licenses.
All users, but especially Linux users, should be aware that srm will only work on file systems that overwrite blocks in place. In particular, it will NOT work on resiserfs or the vast majority of journaled file systems. It should work on ext2, FAT-based file systems, and the BSD native file system. Ext3 users should be especially careful as it can be set to journal data as well, which is an obvious route to reconstructing information.
As of this writing, the state of the Linux kernel prohibits any planning about solving the above problems prior to the 2.6 kernel series. Indeed, by then, other developments may make the entire issue a moot point. Either the LSM framework will make writing the kernel portion trivial, or encrypted file systems will be common enough to make srm nearly useless.
Patches, donations, and notes of encouragement are all appreciated and should be sent directly to the author.
Matt Gauthier <elleron@comcast.net>
