On Tue, Feb 24, 2009 at 02:40:35AM +0000, Jeff LaCoursiere wrote:
> 
> On Mon, 23 Feb 2009, David fire wrote:
> 
> [snip]
> 
> >
> > cd /<some dir>/<maybe other dir>
> > rm * -r -f
> >
> > PLEASE DONT DO THIS AT THE ROOT DIR OR YOU WILL ERASE ALL THE DISK.
> > CD TO THE TARGET DIRECTORY OR YOU WILL DESTROY YOUR SERVER.
> >
> 
> Nah, you will only get as far as some shared libraries before the system 
> crashes :)

Reminder: what rm does is actually unlink(2). That is: it doesn't remove
a file from the disk. It merely removes one link from the file system to
it. A file is removed only when its reference count is down to 0.

When a program uses a library, the copy of that library is still kept on
the disk. Even if it is unlinked from the filesystem already.

$ echo whatever >file
$ sleep 1000 <file &
[2] 9959
$ rm file

Oh no! What have I done?!

$ cat /proc/9959/fd/0
whatever
$ cp /proc/9959/fd/0 restored
$ ls -l
total 4
-rw-r--r-- 1 tzafrir tzafrir 9 2009-02-24 13:17 restored
$ cat restored
whatever

> 
> Odd syntax you have there.  Most would destroy things with rm -rf * .

The '.' in the end adds some extra power. ;-)


So the bad news are that there is nothing to stop an rm -rf //#. Not 
even when system libraries are deleted.

-- 
               Tzafrir Cohen
icq#16849755              jabber:[email protected]
+972-50-7952406           mailto:[email protected]
http://www.xorcom.com  iax:[email protected]/tzafrir

_______________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to