史上最大乌龙!一行代码删除了一整个公司

 

最近,一个名叫Marco Marsala的程序员不小心在服务器上运行了一个命令,结果导致他的整个公司都被删除了。这个命令删除了服务器上存储的所有文件资料,包括他开的一家主机托管公司负责管理的那些客户的网站。

 

根据 The Independent 的报道,Marco在一个叫做Server Fault(服务器错误)的论坛上详细描述了他目前的窘境。这个论坛旨在帮助服务器管理员解决一些软件疑难和问题,但是Marco遇到的困境令论坛所有人爱莫能助。

 

Marco说他在进行服务器例行维护工作时不小心运行了Linux命令"rm -rf",其中“rm”意为删除,而”-rf”则告诉Linux强制删除所有信息,包括公开信息和正在运行的程序等,并且隐藏那些警告“你这样做可能是错误的”信息提示。

 

一般地,这个命令会在具体索引下运行。但是因为Marco是无意间运行了这个命令,所以没有索引出现。它是被一个Bash脚本启动的(Bash脚本是一种包含可执行代码的Linux文件,通常用来以编程方式设定位置)。

 

然而文件出了bug,一般删除点开始处的索引文件并未被加到“rm”命令里,于是公司服务器里,文件系统从上到下按顺序所有的文件都被删除了。

 

最糟糕的是,Mar还删除了所有备份文件……他确实有把备份文件存在另一个服务器上,但是他刚刚把驱动连接到电脑并且赋予了命令行准入权,于是这行命令也进入了备份文件服务器并删除了上面所有内容。

 

Marco赶紧跑到Server Fault论坛寻求帮助,希望找回这些被删除的数据。但是论坛上的用户很快达成共识——这些数据已经被永久删除。一个叫做Swen的用户说,“我很抱歉地告诉你,你的公司没了。”

 

“你的公司必须歇业了,”另一个用户说,“你现在不需要技术上的建议,而应该赶快给律师打电话!”

 

 

Marco的公司之前托管着1500个客户的网站,为这些站主提供服务器。这个命令也删除了所有这些被托管的网站,用户现在只能依靠他们自己的备份来恢复网站,并向别的服务器提供商注册托管。

 

Marco很快陷入怒火,因为很明显他没有做好安全防护准备。一行错误命令能删除数个服务器所有内容,这原本无论如何不可能发生。他本来应该确保“rm-rf”命令运行的第一个对象必须是外部命令索引,这样的话命令运行时就会有保护程序阻止,至少备份文件不可能被删除。

 

“这事儿的发生不是偶然——这显示了你们公司巨大的、彻底的疏忽失职。犯下这样的错误不仅仅是一个命令行的事情,这得是很多个错误同时发生导致的后果。”一个论坛用户Massimo写道。Marco在论坛上是无法获得帮助了,有人建议他赶紧找一找专业的数据恢复专家试试看。

 

只要被影响的硬盘驱动器尚未完全覆盖之前的内容,一些特殊手段也许可以恢复部分数据。我们还不知道Marco Marsala是否已经通知了他的客户,或者他计划如何从这场灾难中恢复过来。

 

本文参考自 Business Insider


发表您的观点