Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.16. Removing Data Securely Using scrub

The scrub utility sets patterns on special files or disk devices to make retrieving data more difficult. Using scrub is faster than writing random data on a disk. This process provides high availability, reliability, and data protection.
To start using the scrub command, install the scrub package:
~]# yum install scrub
The scrub utility operates in one of the following basic modes:
Character or Block Device
The special file corresponding to a whole disk is scrubbed and all data on it, is destroyed. This is the most effective method.
scrub [OPTIONS] special file
File
A regular file is scrubbed and only the data in the file is destroyed.
scrub [OPTIONS] file
Directory
With the -X option, a directory is created and filled with files until the file system is full. Then, the files are scrubbed as in file mode.
scrub -X [OPTIONS] directory

Example 4.7. Scrubbing a Raw Device

To scrub a raw device /dev/sdf1 with default National Nuclear Security Administration (NNSA) patterns, enter the following command:
~]# scrub /dev/sdf1
scrub: using NNSA NAP-14.1-C patterns
scrub: please verify that device size below is correct!
scrub: scrubbing /dev/sdf1 1995650048 bytes (~1GB)
scrub: random  |................................................|
scrub: random  |................................................|
scrub: 0x00    |................................................|
scrub: verify  |................................................|

Example 4.8. Scrubbing a File

  1. Create a 1MB file:
    ~]$ base64 /dev/urandom | head -c $[ 1024*1024 ] > file.txt
  2. Show the file size:
    ~]$ ls -lh
    total 1.0M
    -rw-rw-r--. 1 username username 1.0M Sep  8 15:23 file.txt
    
  3. Show the contents of the file:
    ~]$ head -1 file.txt
    JnNpaTEveB/IYsbM9lhuJdw+0jKhwCIBUsxLXLAyB8uItotUlNHKKUeS/7bCRKDogEP+yJm8VQkL
  4. Scrub the file:
    ~]$ scrub file.txt
    scrub: using NNSA NAP-14.1-C patterns
    scrub: scrubbing file.txt 1048576 bytes (~1024KB)
    scrub: random  |................................................|
    scrub: random  |................................................|
    scrub: 0x00    |................................................|
    scrub: verify  |................................................|
    
  5. Verify that the file contents have been scrubbed:
    ~]$ cat file.txt
    SCRUBBED!
    
  6. Verify that the file size remains the same:
    ~]$ ls -lh
    total 1.0M
    -rw-rw-r--. 1 username username 1.0M Sep  8 15:24 file.txt
    
For more information on scrub modes, options, methods, and caveats, see the scrub(1) man page.