Linux中最危险的10个命令
对于编程人员或或者Linux系统管理员来说,操作Linux系统最常见的方法就是使用命令行.当然,Linux命令行佷有用、很高效,但有时候也很危险,尤其是在你误操作或者不确定你自己在正在做什么的时候.下面我就为大家盘点最危险是10个命令,一起来看看吧!
当然,以下命令通常都是在root权限下才能将愚蠢发挥到无可救药;在普 通用户身份下,破坏的只是自己的一亩三分地.
① rm -rf 命令
rm -rf命令是删除文件夹及其内容最快的方式之一.仅仅一丁点的敲错或无知都可能导致不可恢复的系统崩坏.下列是一些rm 命令的选项.
rm 命令在Linux下通常用来删除文件.
rm -r 命令递归的删除文件夹,甚至是空的文件夹.(译注:个人认为此处应该是说错了,从常识看,应该是"甚至是非空的文件夹")
rm -f 命令能不经过询问直接删除'只读文件'.(译注:Linux下删除文件并不在乎该文件是否是只读的,而只是在意其父目录是否有写权限.所以,-f这个参数 只是表示不必一个个删除确认,而是一律悄悄删除.另外,原始的rm命令其实也是没有删除提示的,只是一般的发行版都会将rm通过别名的方式增加-i参数来 要求删除确认,而-f则抑制了这个提示.)
rm -rf / : 强制删除根目录下所有东东.(就是说删除完毕后,什么也没有了...)
rm -rf *: 强制删除当前目录的所有文件.
rm -rf . : 强制删除当前文件夹及其子文件夹.
从 现在起,当你要执行rm -rf命令时请留心一点.我们可以在".bashrc"文件对'rm'命令创建rm -i的别名,来预防用 'rm'命令删除文件时的事故,它会要求你确认每一个删除请求.(译注:大多数发行版已经这样做了,如果还没有,请这样做,并在使用-f参数前一定考虑好 你在做什么!译者本人有着血泪的教训啊.)
这就是个fork 炸弹的实例.具体操作是通过定义一个名为 ':'的函数,它会调用自己两次,一次在前台另一次运行在后台.它会反复的执行下去直到系统崩溃.
:(){:|:};:
哦?你确认你要试试么?千万别在公司正式的服务器上实验啊~~
上列命令会将某个'命令'的输出写到块设备/dev/sda中.该操作会将在块设备中的所有数据块替换为命令写入的原始数据,从而导致整个块设备的数据丢失.
这 个命令会移动某个'文件夹'到/dev/null.在Linux中 /dev/null 或 null 设备是一个特殊的文件,所有写入它的数据都会被清除,然后返回写操作成功.(译注:这就是黑洞啊.当然,要说明的是,通过将文件夹移动到黑洞,并不能阻止 数据恢复软件的救赎,所以,真正的+彻底毁灭,需要采用专用的软件或者手法来完成——我知道你肯定有些东西想删除得干干净净的.)
# mv /home/user/* /dev/null
上列命令会将User目录所有内容移动到/dev/null,这意味着所有东西都被'卷入'黑洞 (null)之中.
上列命令常用来清空文件内容(译注:通常也用于记录命令输出. 不过请在执行前,确认输出的文件是空的或者还不存在,否则原来的文件可真是恢复不了了——连数据恢复软件都未必能帮助你了.另外,我想你可能真正想用的是 "",即累加新的输出到文件,而不是刷新那个文件.).如果用上列执行时输入错误或无知的输入类似 "xt.conf" 的命令会覆盖配置文件或其他任何的系统配置文件.
上列命令会向块设备sda写入随机的垃圾文件从而擦出数据.当然!你的系统可能陷入混乱和不可恢复的状态.(译注:记得上面说过mv到黑洞并不能彻底删除数据么?那么这个命令就是给了你一个彻底删除的方法!当然为了保险起见,你可以覆写多次.)
①.0. 隐藏命令
下面的命令其实就是上面第一个命令 (rm -rf).这里的代码是隐藏在十六进制里的,一个无知的用户可能就会被愚弄.在终端里运行下面命令可能会擦除你的根分区.
注意: 不要在你的或你的同学或学校的电脑里的Linux终端或Shell执行以上的任何一个命令,因为这将导致数据丢失或者系统崩溃.如果你想测试它们,请在虚拟机上运行.
;
linux管理常见错误一:随意许可,原因是不理解许可
如果对许可配置不当,就会给黑客留下机会.处理许可问题的最简单方法是使用所谓的RWE方法,即Read(读取)、Write(写入)、Execute(执行).假设你想让一个用户能够读取一个文件但不能写入文件.为此,你可以执行:chmod
文件名,以为这样能够避免问题.但这样做实际上会导致更多的问题,因为它给了文件的可执行的权限.
linux管理常见错误二:忽视更新
这并不是说Linux管理员缺乏技巧.不过,许多Linux管理员在运行了Linux之后,以为日后就无事可做了,以为它安全可靠.其实,新的更新可以为一些新的漏洞打上补丁.维持更新可以在一个易受损的系统与一个安全的系统之间构造分水岭.Linux的安全来自于不断地维护.为了实现安全性,为了使用一些新的特性和稳定性,任何管理员都应当跟上Linux的更新步伐.
乍看起来,这也许是一个不错的主意.如果你在运行Ubuntu,你会知道包管理程序使用的是.deb软件包.不过,你找到的许多应用程序是以源代码的形式提供的.没有问题吗?这些程序安装后也许能够正常工作.但是你为什么不能随意安装程序呢?道理很简单,如果你以源的形式安装了程序,那么,你的软件包管理系统将无法跟踪你所安装的东西.
所以呢,在程序包A(以源的形式安装)依赖于程序包B(从一个.deb库安装的),而软件包B是从更新管理器更新的时候,会发生什么事情呢?程序包A可能运行,也可能无法运行.不过,如果程序包A和B都从.deb库安装的话,二者都能运行的机会将更高.此外,在所有的程序包都来自于同样的二进制类型时,更新程序包将更为容易.
linux管理常见错误四:将服务器启动进入到X
linux管理常见错误五:糟糕的口令
记住,root
的口令通常是linux王国的关键.所以为什么要让root的口令那么容易被破解呢?保障你的用户口令的健壮性至关重要.如果你的口令比较长,且难于记忆,可将这个口令存放在一个可被加密的位置.在需要这个口令时,可用解密软件解开这个口令使用之.
linux管理常见错误六:没有备份关键的配置文件
许多管理员都有这样的体会,在升级到某个X版本,如X11之后,却发现新版本破坏了你的xorg.conf配置文件,以至于你再也无法使用X?建议你在升级X之前,先对以前的/etc/x11/xorg.conf作一个备份,以免升级失败.当然,X的升级程序会设法为用户备份xorg.conf文件,但它却在/etc/x11目录内备份.即使这种备份看起来不错,你最好还是自己做一个备份吧.笔者的一个习惯是将其备份到/root目录中,这样,用户就可以知道只有根(root)用户能够访问此文件.记住,安全第一.这里的方法也适用于其它的关键备份,如Samba、Apache、Mysql等.
linux管理常见错误七:忽视日志文件
/var/log的存在是有理由的.这是存放所有的日志文件的唯一位置.在发生问题时,你首先需要看一下这里.检查安全问题,可看一下/var/log/secure.笔者看的第一个位置是/var/log/messages.这个日志文件保存着所有的一般性错误.在此文件中,你可以得到关于网络、媒体变更等消息.在管理一台机器时,用户可以使用某个第三方的应用程序,如logwatch,这样就可以创建为用户创建基于/var/log文件的各种报告.
linux管理常见错误八:没有安装一个可正常运行的内核
linux管理常见错误九:逃避使用命令行
恐怕很少有人愿意记住那么多命令.在大多数情况下,图形用户界面是许多人的最爱.不过,有时,命令行使用起来更加容易、快捷、安全、可靠.逃避使用命令行是Linux管理的大忌.管理员至少应当理解命令行是如何工作的,至少还要掌握一些重要的管理命令.
linux管理常见错误十:以根用户身份登录
这是一种很危险的错误.如果用户需要根特权来执行或配置一个应用程序,可以在一个标准的用户账户中使用su切换到root用户.登录到root为什么不是一件好事儿?在用户以标准用户身份登录时,所有正在运行的X应用程序仍拥有仅限于此用户的访问权.如果用户以根用户身份登录,X就拥有了root的许可.这就会导致两个问题,第一段:如果用户由GUI犯了一个大错,这个错误对系统来说,有可能是一个巨大的灾难.第二段:以根用户的身份运行X使得系统更易于遭受攻击.