Talk:344: 1337: Part 4
It's the piping of "find ~" (all files in Mom's current login's home directory) and "find ~nomad" (all files in the home directory of user "nomad", presumably that's Elaine's account also on Mom's machine, having recently been on a 'life journey' of self-discovery and learning) through the shred command that is doing the directory recursion, as part of the "find" command's default behaviour (IIRC). I've never used the shredding command myself, but I'd say that it's operating on the list given it by the "find", rather than doing the directory-burrowing itself, for which I'd expect parameters of a "~/* ~/.* -r" (or "-R" or "-s") type of variant to activate the "all files, in all directories from here" inspection... ICBW. Best to check the man pages, though... (Also Mom's obviously got maximum rights for herself, or is drilling through su, as I'd expect.) 184.108.40.206 08:30, 19 June 2013 (UTC)
- "find" is passed a variety of arguments - an argument that is not part of an optional parameter (i.e. -name \*.php would specify all files ending with ".php" - the backslash is used to prevent bash or another shell from expanding the parameter into a full list of .php files) is treated as a file or directory to begin searching. So "find ~" would begin searching in the user's own home directory; "find ~nomad" would begin the search in the home directory of the user "nomad". All file and directory names are sent to stdout (standard output).
- Piping the result requires the use of the | symbol (shift-backslash). It's used to pipe data from stdout to stdin (standard input).
- "xargs" is a Linux command that constructs command lines by reading a list of files from stdin and treating each with a command (and optional arguments) specified after "xargs".
- "shred" is a program that takes a filename as a parameter and overwrites the file repeatedly to keep the original contents, which can be discerned using increasingly-expensive hardware solutions, from being pieced together.
- With this in mind:
- find ~ | xargs shred
- 1) finds all files (and directories) in the hierarchy of the user's home directory, and sends the list to stdout;
- 2) the list gets piped to "xargs", which
- 3) passes each file to "shred" for shredding.
- Issues regarding symbolic links, filtering directory names from the operation, and modifying the operating parameters of "shred" will be left to the aspiring sysadmin to discover for theirself. Thokling (talk) 13:42, 21 September 2013 (UTC)
It should be noted that if you want to have a file system that can shred data reliably you will need to use a file system without journaling or it is possible some of your data can be stored in the journal(The journal describes the nature of a write and its prior state before writing to it in order to safeguard the file system against unexpected shutdown).
What is more a lot of modern hard drive detect bad sectors and move data elsewhere, leaving the old data in a sector marked as "do not use". This data will not be securely deleted from these sectors and can be manually accessed by forensics later.
The commonly accepted solution is to use block device level encryption to prevent sensitive data from ever being written.
In short the shred command can give someone an unrealistic sense of security. I don't think this is relevant to the comic but I just wanted to share what I knew on the subject. 220.127.116.11 08:52, 1 November 2013 (UTC)
Someone should put in that Stallman was given a Katana.18.104.22.168 00:29, 13 June 2014 (UTC)
- And also that katana-wielding Stallman comes from 225: Open Source. 22.214.171.124 22:29, 6 April 2015 (UTC)
find can take multiple path arguments so she could just used find ~ ~nomad. 126.96.36.199 02:19, 14 September 2015 (UTC)
Were people still using the Creative Nomad range of MP3 players at this point? Because the linux driver for the Nomad ran under a user account named "nomad", and the fact that it's the RIAA coming after them implies that MP3s are what they're interested in. 188.8.131.52 05:32, 16 September 2015 (UTC)