rm -rf /は実行されないのが正しい?
いくつかのUnixプラットフォームではrm -rf /はエラーになり実行されない。これは余計なおせっかいで実行されるべきだと言う人もいるが、最新のPOSIXに従うのなら「実行されない」のが正しい。POSIX.1-2008ではrmについて、「引数がルートディレクトリを指しているなら、標準エラーに診断メッセージを出力して、それ以上何もしてはならない」と定めている。
if an operand resolves to the root directory, rm shall write a diagnostic message to standard error and do nothing more with such operands.
POSIX.1-2004にはこの記述はないので、最新の規格に従ってないrmではrm -rf /が普通に実行される可能性がある。
実装を調べてみると、2003年12月にリリースされたcoreutils 5.1.0以降のrmでは、--no-preserve-rootオプションを付けない限りrm -rf /は実行されない。すべての現役のLinuxディストリビューションではrm -rf /は実行されないと言っていいだろう。FreeBSD 5.5以降やSolaris 10以降でもrm -rf /は実行されない。しかし、それ以外のプラットフォームでは実行されてしまうようだ。
最新の規格としてはrm -rf /は実行されないことになっているけれども、実行されるプラットフォームも多いので当てにしないほうがいいということになる。
Author And Source
この問題について(rm -rf /は実行されないのが正しい?), 我々は、より多くの情報をここで見つけました https://qiita.com/fujieda/items/3dff4ae4ea4fa9db5f63著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .