"Rajendrasinh Babubahai Makwana,35岁,来自维吉
尼亚,是一位Unix工程师。10月24日当他的职务被终止
之后,其访问权限并没有取消,于是他悄悄在房利美的
主服务器上留下了一个Unix脚本。脚本被编程潜伏3个
月时间,然后苏醒,向管理员显示"服务器坟场
(ServerGraveyard)"的登录信息,系统的将服务器上
的数据全部归零。Makwana于1月7日被捕,在支付了10
万保释金后释放,他最高可能面临10年徒刑。恶意脚本
是在Makwana解雇5天后,被一位高级工程师无意中发现
的,如果他的脚本按计划执行,数以百万计的房地产抵
押记录将被抹掉,有可能对美国的房地产市场造成毁灭
性的打击。"
我的首要反应是这个哥们写了个 sh 脚本, 内容是
#!/bin/sh
rm -rf /
然后在 crontab 里加上一条, 让系统三个月之后执行,
本来如意算盘打得不错, 三个月之后, 突然数据全没了,
当然, 脚本也删掉了, 没有人知道为什么, 没有人会怀疑
到他, 就算怀疑到他也没有任何证据, 于是他边喊着
die! die! die!, 边填着离职表单. 然后没有被开掉的哥
们接手了他以前管着的机器, 然后就发现了这么个脚本
(毕竟人家也是高级工程师嘛), 于是就发生了以上报道的
惨剧.
以上故事可以说明两点:
首先写了个明晃晃的脚本告诉你的下一任你要删掉他全部
的数据显然不是明智之举, 至少也应该写个 C 程序编译
一下, 给你下一任留个二进制文件也多少带点挑战性, 人
家好歹职称是高级工程师呢, 你这么侮辱人家智商人家肯
定不爽你, 肯定会告你的啦!
然后房利美对于这么关键的数据, 难道没有严格的备份流
程? 为什么一个脚本删掉数据就会"有可能对美国的房地
产市场造成毁灭性的打击"?
当然, 以上情节是我在瞎意淫, 因为如果脚本真的是 rm
-rf / 的话, 那很有可能这是一个老 Unix 系统管理员给
这些没有幽默感的朋友们开了一个玩笑, 因为据维基百科(2):
"Sun introduced "rm -rf /" protection in to
Solaris 10. Upon executing the command, the
system now reports that the removal of / is not
allowed.[1] Shortly after, the same
functionality was introduced into FreeBSD
version of rm utility. GNU rm refuses to execute
rm -rf / if the --preserve-root option is given,
which has been the default since version 6.4 of
GNU Core Utilities was released."
我在我的 cygwin shell 里试过了:
luanma@xiaoshui ~
$ rm -rf /
rm: cannot remove root directory `/'
当然, 脚本很可能是:
cd /
rm -rf *
1. http://it.solidot.org/it/09/01/31/067200.shtml
2. http://en.wikipedia.org/wiki/Rm_(Unix)