Blog 1

Random Talk on Random Thoughts

Secure File Removal

| Comments |

GNU’s shred utility

The command for files and folders

For a single file, the command should be simple. For a directory, the following command can shred the files recursively.1

$ find <dir> -type f -exec shred {} \;

Effectiveness of shred in Ext3 and NTFS file systems

The cited part of shred’s manpage in the second answer interested me to read more about the utility. In Vim, I pressed K when the cursor is on the word shred, and opened the manpage, which claims that using it on an Ext3 partition is fine if the partition is in either the data=ordered (default) or data=writeback mode. How about an NTFS partition? At the bottom, it says that the info page has more information about the utility. I found the following section in the info page.

Please note that `shred’ relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. Exceptions include:

  • Log-structured or journaled file systems, such as those supplied with AIX and Solaris, and JFS, ReiserFS, XFS, Ext3 (in `data=journal’ mode), BFS, NTFS, etc. when they are configured to journal data.

However, googling “shred ntfs effective”, I saw another post about the utility.2 Due to my limited IT knowledge, searching for the word “NTFS”, all I could understand was that “using shred on NTFS is fine”. I searched for the word “ext3”, and found Shane’s comment, which questioned Wayne Richardson’s advice.3

True solution: Encrypt the file system

I went back to the Unix Stack Exchange question and re-read the second solution. The feasible way is in the last line. I think many new GNU/Linux users who have read this answer won’t think of encrypting swap.

Don’t use shred on USB devices!

In the blog post cited in footnote 2, Richardson used the utility on a USB drive. Before writing something about encrypted swap, I’ll quote from a Google search result of “shred usb”.

shred’s possible damage to USB devices

If one issues the shred command without changing the number of iterations, which is three by default, USB devices will wear out.4

As a result, Leo Notenboom suggested using SDelete, which I, as a supporter of GNU, won’t use due to its proprietary software license.5

Thus, to overwrite the data once only, free software advocates use GNU’s shred command with the -n flag set to 1, instead of SDelete.

Overwriting the USB once only is ineffective

According to Computerworld, data recovery from SSD and flash drives which have been overwritten is extremely easy.6

Conclusion of this sub-section

Using shred to overwrite the data multiple times will destroy the USB; while one pass of overwriting provides not much additional security to IT experts. As a result, stop running shred on USB and SSD drives.

Encrypt swap

If you’ve chosen “Encrypt /home folder” during Ubuntu 11.04+’s installation, you don’t need this. For users of older versions of Ubuntu or other GNU/Linux distributions, I think that a post in Logilab is useful for them. However, in some Linux versions/distros, after setting up the encrypted swap, users will find out that they can’t hibernate. A community help page will help them. If something strange happens, one may refer to this post.