Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
WIPE(1) 		     General Commands Manual			 WIPE(1)

NAME
     wipe - secure file deletion utility

SYNOPSIS
     wipe

     [-ucwsiIhfFdDnNvVzZrRtTkKaAeE]  [-B(count)] [-S(size)] [-C(size)] [-o[size]
     -O] [-l[0-2]] [-x[1-32] -X] [-p(1-32)] [-b(0-255)] [files]

DEFAULT
     wipe -ZdNTVEAkO -S512 -C4096 -l1 -x1 -p1

DESCRIPTION
     Wipe is a secure file wiping utility. There are some low level issues  that
     must  be  taken into consideration. One of these is that there must be some
     sort of write barrier between passes. Wipe uses fdatasync(2) (or  fsync(2))
     as a write barrier, or if fsync(2) isn't available, the file is opened with
     the  O_DSYNC  or  O_SYNC  flag. For wipe to be effective, each pass must be
     completely written. To ensure this, the drive must support some form  of  a
     write  barrier,  write cache flush, or write cache disabling. SCSI supports
     ordered command tags, has a force media access bit for commands, and  write
     cache  can  be  disable  on mode page 8. IDE/ATA drives support write cache
     flushes and write cache disabling. Unfortunetly, not  all	drives	actually
     disable  write  cache when asked to. Those drives are broken. Write caching
     should always be disabled, unless your system is battery backed and  always
     powers down cleanly.

     Under  linux,  the  mount	option "mand" must be used (see linux/Documenta-
     tion/mandatory.txt) for mandatory file locks to  be  enabled.  Wipe  should
     make  it  extremely  difficult for all but the most determined person(s) to
     recover the original plaintext data. Utilities such as PGP and the GNU Pri-
     vacy Guard provide strong encryption, but	encryption  is	useless  if  the
     original  plaintext  can  be  recovered.  When using PGP and GPG, temporary
     files that are disk-backed should be stored on an	encrypted  file  system.
     That way, the plaintext never hits the platters. Wipe is designed for situ-
     ations where an encrypted file system isn't practical.

     Wipe uses /dev/urandom, or if unavailable, /dev/random, as a source for en-
     tropy. The Mersenne Twister PRNG is used for speed. The MT site is at:

     http://www.math.keio.ac.jp/~matumoto/emt.html

     For  more	information  on  the secure deletion of magnetic media and solid
     state storage devices (such as DRAM) see the USENIX article by  Peter  Gut-
     mann at:

     http://www.cs.auckland.ac.nz/~pgut001/secure_del.html

OPTIONS
     -h     Display help screen. Shows options and what they do.

     -u     usage - shows options

     -c     shows copywrite information

     -w     shows warranty

     -i     interactive  -  prompt whether to remove each file explicitly checks
	    file permissions

     -I     disables interaction

     -f     forces file wiping and suppresses permission warnings

     -r or -R
	    recursion - traverse subdirectories

     -s     silent - disable percent reporting and some warnings

     -V     verbose - shows percentage if file size is	above  a  certain  limit
	    (see wipe -h)

     -v     force verbose - always show percentage

     -e and -E
	    on	(-e) makes the percentage (only if shown) more accurate by call-
	    ing fdatasync() before each update off (-E) will  be  slightly  less
	    accurate, but wipe will only call fdatasync() between passes

     -d and -D
	    delete (-d) or keep (-D) after wiping

     -n and -N
	    delete (-n) or skip (-N) fifos, sockets, sym links, and char devices

     -k and -K
	    lock (-k) or don't lock (-K) files during wiping

     -z     zero-out file - performs a single pass of zeros

     -Z     perform normal passes - overrides -z

     -t and -T
	    enable (-t) or disable (-T) static passes

     -a and -A
	    write until out of space (-a) or don't (-A)

     -o and -O
	    write [size] to stdout (-o) or use files (-O)

	    Since  wipe  does  not  have specific support for char devs, like it
	    does for block devs, this is the preferred method  of  wiping  them,
	    such  as  tape  drives;  eg, wipe -za -o | buffer > /dev/nst0 It can
	    also be used for block devs; eg wipe -To | dd count=size of=blkdev

	    You can also use this to create files containing pseudo-random  out-
	    put from the MT PRNG; eg, wipe -To10240 -x1 > prand

	    For static passes, you must specify a stdout length.

     -B     override block device sector count

     -S     override block device sector size

     -C     chunk size - the maximum file buffer size

     -l     sets generic security level

	    level 0, the PRNG is only seeded once

	    level 1, the PRNG is seeded once per file

	    level 2, the PRNG is seeded once per random pass

     -x     enables random passes and optionally, how many random passes to per-
	    form  -  note  that this option now sets the number of random passes
	    per wipe loop - in other words, the total number  of  random  passes
	    will be random passes * wipe loops (-p)

     -X     disable random passes

     -p     loop passes - perform wipe sequence x times, including random passes

     -b     custom byte - overwrite once with a specific byte

FILES
     /dev/urandom
	    Wipe uses this character device for a source of entropy

     /dev/random
	    Wipe falls back to using this if /dev/urandom is not available

DIAGNOSTICS
     If  an error occurs, the exit code will be the errno value. An exit code of
     2 indicates bad usage.

BUGS
     Wipe does not work on log structured file systems, or  any  other	type  of
     file system or block device that reallocates sectors on write.

     Some  programs  are vulnerable to symlink races. To avoid this problem with
     wipe, only wipe files in directories that are  not  writable  by  untrusted
     users.

NOTES
     Tapes and other sequential access devices

     Choose an appropriate buffer size to match the logic or physical block size
     of  the  device. When using the pattern passes, you should disable compres-
     sion on the drive, and it's generally best to so for other passes as well.

     For VXA drives, I used mt-st under linux to set the block size to 0  (vari-
     able)  and  turn  off compression, and I run wipe with a 64k block size, to
     match the on-tape format''s native block size.

     Example:

     mt-st setblk 0

     mt-st compression 0

     wipe -C64 /dev/st0

ALTERNATIVES
     Other file wiping utilities:

     Another "wipe" by Berke Durak <durakb@crit2.univ-montp2.fr>

     Colin Plumb's <colin@nyx.net> sterilize.

     Todd Burgess's <tburgess@eddie.cis.uoguelph.ca> srm is  available	on  sun-
     site/metalab in

     ftp://metalab.unc.edu/pub/Linux/system/filesystems/

SEE ALSO
     /usr/local/share/doc/wipe/README

AUTHORS
     Wipe
     Copyright (C) 1998-2009 Thomas M. Vier, Jr. <nester@users.sf.net>

     Mersenne Twister PRNG module
     Copyright (C) 1997 Makoto Matsumoto and Takuji Nishimura

									 WIPE(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=wipe&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help