以下文章来源于公众号“程序员求职之路”
2020年2月23日,微盟员工贺某登录公司服务器将微盟服务器内数据全部删除。
导致300余万用户无法正常使用该公司SaaS产品,造成公司经济损失超10亿。
2020年8月26日,思科前员工Sudhish Kasaba Ramesh非法入侵思科公司的云基础设施,并破坏大量资源。
导致公司456个WebEx Teams的虚拟机被删除,造成经济损失240万美元。
2020年未完待续……
当“删库跑路”从玩梗变为现实时,无人欢喜,尽是忧。
今天故事的主角便是删库命令,一起来谈谈这段代码的前世今生吧。
不妨先从代码本身说起:
rm 命令用于删除一个文件或者目录。
-r表示递归地处理文件,即处理该目录及其所有子目录下符合条件的文件。
-f表示无提示强制删除。
/* 表示根目录下的所有文件。
总结成一句话概括便是:
一旦你执行了rm -rf /* 命令,就会删除Linux根目录下的所有文件,直接导致服务器瘫痪。
那么,当你按捺不住自己的好奇执行上述命令时,会遇到什么情况呢?
(surprise mother fxxker)可以看到执行命令期间出现了满屏的报错,这是因为并不是所有文件都能被删除,当被系统保护的那些文件被删除时,就会出现报错。
等到删除完毕,可以发现常用的命令中top、free、ls、shutdown等都已经无法执行了,想关机或者重启都不行,只有cd可以。
强制关机重启后会报如下异常:
到了这个时候就只剩重装系统这条路可走。
如果有一天,我是说如果,不小心执行了rm -rf /*要怎么办?
删库==跑路?
大可不必。
发现删库了,马上ctrl+c掐断执行的命令和脚本,少删一个是一个。
会有少量命令在删库后还是好使的,这些命令能帮助恢复部分其它命令。
然后从其它服务器拷贝文件到本机,补齐被删文件。
拆下硬盘放到其它服务器,然后使用ext3grep或者extundelete,有一定概率恢复部分数据的。
全量下载备机环境,和主机比对后批量上传缺失文件。
有言道:常在河边走哪有不湿鞋,这里向大家科普一下今天的保住饭碗小技巧。
1. 保持清醒
工作的时候尽量保持清醒,进行高危操作的时候一定要保持清醒。
系统不会自己敲一段rm -rf /*出来,相信你在清醒的时候也不会。
2. 规范操作
删除表的动作必须通过管理系统执行。
在删除数据表之前,先对表做改名操作,观察确保对业务无影响以后再进行删除操作。
对rm命令设置alias,设置别名为mv到指定目录,crontab定时清理。
3. 控制好用户权限
思科公司虚拟机被删除事件的背后有这样一个小细节:员工即使离职,其账号也没有被及时注销,这使他轻松顺利进入公司系统。
说到底“删库跑路”更多还是停留在一种自我调侃。
删库惹麻烦、跑路会判刑,做一个谨慎、正直的程序员,愿没体验过删库的你不用有这种经历。
网友评论