linux花式作死

虚拟机的作用

Posted by wyj on April 29, 2019

我在ubuntu下虚拟机装了ubuntu,于是可以通过快照功能随便作死,因为作完死之后可以马上满血复活。于是我开始蛋疼的尝试各种命令。

首先是创建快照,网上都说要好几分钟,然而我压根没花时间,一瞬间就好了。然后我尝试了一下恢复,一切正常。现在就可以毫无顾虑的作死了。

rm -rf /

sudo rm -rf / --no-preserve-root

这个命令我曾经试过两次,但是显然我不能截屏记录下来。然而我现在可以了。

运行之后一片寂静,一会之后开始出现错误。左边的dock消失了,上面的中文变成乱码。效果如下。 又过了一会儿所有打开的窗口都自动没了,如下。

apt remove python

sudo apt autoremove python python3 --purge

我敲下了这一行之前我以为很正常,其实杀伤力巨大的命令。准备回车的时候,佛祖保佑,我看见了virtualbox一词,然后我顿悟我刚才不小心打开的是Host OS的终端,我差一点就要再次重装系统了。我输入n,长出一口气。这都怪我的host OS和guest OS太像了。 然后我在真正的终端中再次输入了这个命令。居然发现压根就没装python,只有python3。运行的像所有普通的apt autoremove命令一样正常。我甚至以为这个命令压根就不管用。 然而我发现gedit被卸载了,gnome-terminal被卸载了,xterm没装,chrome被卸载了,firefox被卸载了,这成为了一个压根就不能使用的系统。我试着打开1.cpp,发现默认的打开方式变成了LibreOffice。

然后重启,发现整个图形界面都没了,进入了tty1。连查看桌面都不可能,因为中文无法输入。

fork炸弹

:(){ :|:& };:

十三字节的死亡命令。这个我也试过一次,整个系统全部卡死了,什么应用都打不开,进个tty都要等五分钟,还好终于killall成功,起死回生。

然而对于我的虚拟机来说这个命令完全不管用。一开始的确卡的要死,后来出现了一大堆错误信息,然后就一切正常了。看来19.04也不是完全没有优点。 我死不悔改,准备改成C++再来一次。

while(fork())fork();

发现这次要卡得多,然而过了一会之后还是可以自动修复。这就很无趣了。

switch_root

sudo switch_root / sh

本来是个和chroot差不多的命令,然而我在man里面看见了这么一句话:

WARNING: switch_root removes recursively all files and directories on
the current root filesystem.

我本来以为像chroot一样,把根目录”换到”/不会有任何事,然而发现这个威力真的大

一切的应用程序都只能从这个硕果仅存的终端里启动,而且直接破坏sudo。把终端关掉之后,任何应用程序都无法打开(包括终端),自然也就无法关机了。又过了一会儿之后图形界面没了,出现了更加可怕的错误信息

chmod -R 777 /

我做的更加彻底一些:

sudo chmod -R 7777 /

运行之后显示出现了一堆错误,更改很多程序的权限是不被允许的。任何图形界面应用程序都无法启动(包括终端),vim坚挺,搞笑的是我运行whoami的结果是root了。虽然sudo失效了(sudoers文件权限必须是0440),然而我现在就是root,可以像root一样做任何事。系统无法正常关机,我强制关闭了。

重启之后出现了有趣的情况。gnome桌面一般是出现了鼠标之后gdm已经启动好了,然而KDE出现鼠标之后还要等很久plasma的启动(期间鼠标又会消失),现在卡在了出现鼠标的环节。