LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   Secure Deleting Files in Linux? Overwriting files with bits to secure erase? (https://www.linuxquestions.org/questions/linux-newbie-8/secure-deleting-files-in-linux-overwriting-files-with-bits-to-secure-erase-4175552275/)

d9esco 08-31-2015 07:05 PM

Secure Deleting Files in Linux? Overwriting files with bits to secure erase?
 
Is there an option on Linux other than shred that will overwrite data?
The shred command only works for specific files and not the entire contents of folders. Id rather have the option integrated in the shell so the options given as you actually right click a/multiple file/folders.

Beryllos 08-31-2015 09:11 PM

You can make shred work on all files in a directory like this:
Code:

find /target/directory -type f -exec shred --zero --remove {} \;

Ztcoracat 08-31-2015 09:15 PM

Hi:

I've never tried overwrite with mv or copy but these links should help.
See man overwrite-

http://linux.die.net/man/3/overwrite
http://www.rapidtables.com/code/linu...-overwrite.htm

You need to pass the -i option to cp. It will prompt the user if file already existing in a destination directory so that file would be overwritten with confirmation:
http://www.cyberciti.biz/faq/cp-copy...unix-examples/

http://superuser.com/questions/41446...ile-using-echo

---------- Post added 08-31-15 at 10:16 PM ----------

Quote:

Originally Posted by Beryllos (Post 5413992)
You can make shred work on all files in a directory like this:
Code:

find /target/directory -type f -exec shred --zero --remove {} \;

Thanks-:)

rknichols 08-31-2015 09:48 PM

Quote:

Originally Posted by Ztcoracat (Post 5413994)
You need to pass the -i option to cp. It will prompt the user if file already existing in a destination directory so that file would be overwritten with confirmation

The only thing the "-i" option does is prompt the user for confirmation before writing to an existing file. It does not otherwise affect the operation of cp. There is absolutly no assurance that the same data blocks previously allocated to the file will be written with the new data. The first thing that cp does with the file is open it with the O_WRONLY and O_TRUNC options, which will truncate the file to zero length, deallocating the blocks it was using. As data is written, blocks will be allocated to receive it, but not necessarily the same blocks. For some filesystems, the allocator might well pick the blocks that were just freed, but that is not assured.

The shred command, and others like it, attempt to overwrite the same blocks by opening the file without the O_TRUNC option, but even then not all filesystems will perform the writes to the same logical blocks. And for devices like SSDs and flash drives, even overwriting the same logical blocks will almost certainly not write to the same physical blocks on the device.

Ztcoracat 08-31-2015 10:10 PM

Quote:

Originally Posted by rknichols (Post 5414002)
The only thing the "-i" option does is prompt the user for confirmation before writing to an existing file. It does not otherwise affect the operation of cp. There is absolutly no assurance that the same data blocks previously allocated to the file will be written with the new data. The first thing that cp does with the file is open it with the O_WRONLY and O_TRUNC options, which will truncate the file to zero length, deallocating the blocks it was using. As data is written, blocks will be allocated to receive it, but not necessarily the same blocks. For some filesystems, the allocator might well pick the blocks that were just freed, but that is not assured.

The shred command, and others like it, attempt to overwrite the same blocks by opening the file without the O_TRUNC option, but even then not all filesystems will perform the writes to the same logical blocks. And for devices like SSDs and flash drives, even overwriting the same logical blocks will almost certainly not write to the same physical blocks on the device.

In that case; what method of cmd practice gives assurance that overwrite will be a sucess?

Ztcoracat 08-31-2015 10:16 PM

In this article you can force cp to overwrite w/o confirmation.
http://stackoverflow.com/questions/8...t-confirmation

Is this a bad practice rknichols?

rknichols 09-01-2015 08:57 AM

Quote:

Originally Posted by Ztcoracat (Post 5414014)
In this article you can force cp to overwrite w/o confirmation.
http://stackoverflow.com/questions/8...t-confirmation

Is this a bad practice rknichols?

You can make cp replace an existing file without confirmation. In fact, that's what it does by default unless you have "cp" aliased to "cp -i". There is nothing you can do to ensure that cp will securely overwrite the disk blocks used by an existing file.

Ztcoracat 09-01-2015 07:17 PM

Quote:

Originally Posted by rknichols (Post 5414162)
You can make cp replace an existing file without confirmation. In fact, that's what it does by default unless you have "cp" aliased to "cp -i". There is nothing you can do to ensure that cp will securely overwrite the disk blocks used by an existing file.

I understand now-

Thanks-:)

John VV 09-01-2015 10:30 PM

i have liked the Debian "srm" for years
it builds on Fedora on rhel and is in the Opensuse base packages

Code:

srm --help

Usage: srm [OPTION]... [FILE]...
Overwrite and remove (unlink) the files.

  -d, --directory      ignored (for compatability with rm(1))
  -f, --force          ignore nonexistant files, never prompt
  -i, --interactive    prompt before any removal
  -x, --one-file-system do not cross file system boundaries
  -s, --simple          overwrite with single pass using 0x00
  -P, --openbsd        overwrite with three passes like OpenBSD rm
  -D, --dod            overwrite with 7 US DoD compliant passes
  -E, --doe            overwrite with 3 US DoE compliant passes
  -r, -R, --recursive  remove the contents of directories
  -v, --verbose        explain what is being done
  -h, --help            display this help and exit
  -V, --version        display version information and exit


BUT!!! and it is a VERY BIG BUTT

modern file systems might not write the data to the exact same sector

however there is a work around " dd"
you use it to make one honking HUGE file in the partition using rand or zero

for the root " / " partition
Code:

su -
dd  if=/dev/zero of=/BIG_FILE.bin

and use the mount point for other partitions
"of=/dev/hdc2/BIG_FILE.bin "

hortageno 09-02-2015 10:18 AM

Quote:

Originally Posted by John VV (Post 5414576)
and use the mount point for other partitions
"of=/dev/hdc2/BIG_FILE.bin "

What do you mean by that? You can't write to /dev/hdc2/BIG_FILE.bin


All times are GMT -5. The time now is 02:25 AM.