What is the mechanism by which rm /dev/null is prevented? Specifically on FreeBSD, but I'm just as interested in all other unix based systems

link|improve this question

60% accept rate
Common logic, you can't remove nothing ;) – mazzzzz Apr 26 '11 at 1:42
3  
Have you tried ? – dtmilano Apr 26 '11 at 1:43
feedback

migrated from stackoverflow.com Apr 26 '11 at 1:59

This question came from our site for professional and enthusiast programmers.

2 Answers

up vote 8 down vote accepted

You can actually delete /dev/null as user root on Linux and BSD systems. Of course once system is rebooted /dev/null will be restored. Without rebooting also it is possible to restore /dev/nullusing mknod command.

link|improve this answer
feedback

Permissions - unless you are running as root (super-user) or possibly one of a select few other users or groups (bin or sys), you do not have write permission in the /dev/ directory, and therefore cannot remove anything from the directory.

If you are root, then you could remove it - but your system would be extremely unhappy. You could recreate it, using the mknod command (or perhaps the mknod() system call). Or you could create a plain file, but that would not have the same special properties as the 'real' /dev/null and would leave your system severely crippled.

It is not a good area for experimentation! (And, if you must experiment, I recommend using a VM rather than your main machine.)

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.