×

这些Linux命令我不敢敲啊!!!
  

不懂就问 132

一、背景
接触虚拟化的小伙伴肯定对Linux操作系统不陌生,不管是运维、开发还是交付工作,都会与Linux命令打交道。今天我们讲讲哪些命令绝对不可以随便运行,即使我们觉得很好奇也不行,除非是在虚拟机上运行(出现问题可以还原),因为它们会实实在在的破坏你的系统。所以不在root等高级管理权限下执行命令是很好的习惯。

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

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

二、高危命令
1、下面的命令会删除你硬盘上的文件,rm 的-r递归删除,和-f强制删除是很危险的选项,即使日常操作,也会遇到误删文件的情况。
602235d8885842f046.png
同样,如果你不知道 mkfs.xxxx (xxxx 可以是 vfat、ext2、ext3、bfs……) 是格式化命令的话,运行下面的命令会擦除你的硬盘分区:
932235d8885f4192a5.png
2、dd 是强大的 IO 输入输出定向工具,如果使用不当,破坏性很大,不仅仅是当前分区,当前系统,有的时候是整个硬盘。
383315d88861af31c7.png
上面的 sda 、sdb 也可能是其他类似的名称。Linux 的 /dev 系统给操纵硬件提供了很方便和强大的功能,同时也使得破坏变得更容易。
3、fork 命令打开一个子进程,如果把 fork 放在无限循环中,最终子进程会耗尽所有内存资源:
818725d88866c6e275.png
这段不知所云的符号,可以让 Shell 不停的 fork 子进程,最后导致内存耗尽,不得不重启,这不是 bug,只是 Shell 语句故意写成简写的形式而已。下面的同理:
417625d888698984a8.png
4、有的时候,压缩包也是一个破坏来源~
有的压缩包要求你解压到某个系统中已经存在的目录中,这时候你就要特别小心了,压缩包里面可能有成千上万的小文件,以各种文件名尝试覆盖你现有的文件。
有的压缩包看起来很小,但是解压出来是上 GB 的垃圾数据,会充斥你的硬盘。
5、从不正规网站下载的程序、脚本,同样会有包含恶意命令的危险,不可随便执行:
273625d88874d232a7.png
我们下载脚本要确保来源正规,如果有能力,可以阅读其代码。即使有源代码的程序,也不要随便编译执行:
729745d88878c98e4d.png
上面看起来只是一堆没有意义的 16 进制数据,如果有人告诉你,运行这个程序你就可以不输入密码取得系统的 root 权限,你可不要相信他,上面的程序实际运行的是 459365d8887c114b27.png

三、总结
1、那么我们如何避免运行恶意程序呢?
     第一不要用 root 作为日常使用的用户,上面的程序,如果当前用户不是 root,危害的波及范围就会小很多。
     第二要知道哪些命令是干什么用的,不知道的命令不要冒然运行。运行有潜在破坏能力的程序,要小心检查自己的输入。
     第三要保证软件、脚本的来源正规。
2、我们要时刻问自己一句话:我是谁?我在哪?我要做什么?
     我是谁?(我是以什么用户登录的?是普通用户还是root用户?)
     我在哪?(我连接的是生产库还是测试库?)
     我要做什么?(我每敲的一个命令是做什么的?)

给楼主打赏,鼓励TA抓紧创作

打赏
暂无人打赏

×
有话想说?点这里!
可评论、可发帖
发表新帖

本版版主

1194
461
124

发帖

粉丝

关注

161
144
18

发帖

粉丝

关注

本版热帖

本版达人

东北小兵

本周建议达人

QI

本周分享达人

新手73241...

本周提问达人