Linux常见紧急情况处理方法

Linux常见紧急情况处理方法

1.使用急救盘组进行维护

  急救盘组(也称为boot/root盘组),是系统管理员必不可少的工具。用它可以独立地启动和运行一 个完整的Linux系统。实际上,急救盘组中的第2张盘上就有一个完整的Linux系统,包括root文件系 统;而第1张盘则存放了可启动的内核。

  使用急救盘组维护系统很简单。只需用这两张盘启动系统后,进入急救模式,这时使用的是root账户。 为了能访问硬盘上的文件,需要手工安装硬盘文件系统。例如,用下面的命令可在/mnt目录中安装

  /dev/hda2盘上的ext2fs类型的Linux文件系统:

  # monut -t ext2/dev/hda2/mnt

  注:现在根目录是急救盘上的根目录。为了访问硬盘文件系统中的文件,必须先把它安装到某个目录 下。这样,如果将硬盘上文件系统安装在/mmt目录下,则硬盘上原来的/etc/passwd文件的路径就是

  /mnt/etc/passwd。
2、文件系统被破坏时的处理方法

  当文件系统被破坏时,如果使用的是ext2fs类型的文件系统,就可从软盘运e2fsck命令来修正文件系 统中被损坏的数据。对于其他类型的文件系统,可以使用相应的fsck命令。

  当从软盘上检查文件系统时,最好不要mount安装。

  注:文件系统被破坏的常见原因是超级块被损坏,超级块是文件系统的“头部”。它包含文件系统的 状态、尺寸和空闲磁盘块等信息。如果损坏了一个文件系统的超级块(例如不小心直接将数据写到了 文件系统的超级块分区中),那么系统可能会完全不识别该文件系统,这样也就不能安装它了,即使 采用e2fsck命令也不能处理这个问题。

  不过,ext2fs类型的文件系统将超级块的内容进行了备份,并存放于驱动程序的块组(block group)边界。可以用如下的命令通知e2fsck使用超级块的备份

  # e2fsck -b 8193

  是指文件系统所在的分区,-b 8193选项用于显示使用存放在文件系统中的8193块的超级块的备份数据。
3、恢复丢失的文件

  如果不小心删除了重要的文件,那么没有办法直接恢复。但是还可以将相应的文件从急救盘复制到硬盘 上。例如,如果删除了文件/bin/login,此时系统无法正常进到登录界面,可以用急救盘组启动系统, 将硬盘文件系统安装到/mnt目录下,然后使用下述命令:  

  #cp -a /bin/login /mnt/bin

  “-a”选项用于告诉cp在拷贝时保持文件的访问权限。 当然如果被删除的基本文件不在“急救盘组”中, 也就不能用这种方法了。如果以前做过系统备份的话,那么也可以用以前的备份来恢复。

  4.函数库破坏时的处理方法

  如果不小心将系统函数库文件破坏了,或者破坏了/lib目录下符号链接,那么将导致依赖这些库的命令无法执行。最简单的解决办法是用急救盘组启动系统,在/mnt目录中安装硬盘文件系统,然后修复/mnt/lib目录下的库。

5、无法用root账号登录系统

  由于系统管理员的疏忽,或者由于系统受到黑客的入侵,系统管理员可能无法用root帐号登录系统。

  对于第1种情况,可能是系统管理员忘记了root密码,用急救盘组就可以解决问题。

  对于第2种情况,由于很可能是密码被黑客修改了,因此系统管理员无法进入系统,也就是说,Linux系统完全失去了控制,因此应尽快重新获得系统的控制权。在取得 root权限后,还应检查系统被破坏的情况,以防被黑客再次入侵。

  需要做的最主要的工作就是重新设置root的密码,获得Linux操作系统的控制权。首先用急救盘组启动系统, 然后将硬盘的文件系统安装到/mnt目录下,编辑/mnt/etc/passwd文件,将其对应于root账户的一行加密口令域置空,如下所示:

  root::0:0:root:/root:bin/bash

  注:如果系统使用 shadow工具,就需要对文件/etc/shadow进行上述的操作,使root登录系统不需要口令。

  这样,root账户就没有口令了。当重新从硬盘启动Linux系统时,就可以用root账户登录(系统不会要求输入密码)。进入系统后,再用命令passwd设置新的口令。
6、Linux系统不能启动

  一般来说,如果系统管理员不能正常进入系统,就需要考虑使用急救盘组进入急救模式排除系统的故障。但在没有制作急救盘组的情况下,Linux系统不能启动,该怎么办?

  在个人计算机使用 Linux系统时,通常都是Linux和MS Windows 9x或MS Windows NT并存的。

  由于重新安装其他的操作系统,经常会导致原有的Linux不能启动。这主要是因为,这些操作系统默认为计算机中没有其他的操作系统,因而改写了硬盘的主引导记录(MBR),冲掉了Linux的LILO系统引导程序。

  如果有急救盘组,那么很简单,用第一张启动盘启动硬盘的Linux系统,重新运行LILO命令,就可以将LILO系统引导程序写回硬盘的主引导记录。再次开机即可。

  如果没有系统启动盘,怎样恢复硬盘上的Linux呢?在这种情况下,如果知道Linux在硬盘上的确切安装分区,且有loadlin程序,就可以重新返回Linux。loadlin程序是DOS下的程序,运行它可以从DOS下直接启动Linux,快速进入Linux环境。在 Red Hat Linux 6.0光盘的 dosutil/目录下就有这个程序。除此之外,还需要一个Linux启动内核的映像文件。在 Red Hat linux 6.0光盘的 images/目录下有这个文件——vmlinuz。

  例如,在Windows 98系统下面,进入DOS的单用户模式,然后运行下述的loadlin命令,即可重新进入Linux系统:

  loadlin vmlinuz root=/dev/hda8

  /dev/hda8是Linux的root文件系统所在的硬盘分区位置。命令执行后,就引导Linux系统。用root登录后,运行LILO命令,则重新将LILO装入MBR,回到以前多操作系统并存使用的状态。

Linux病毒起源、发展及分类

Linux病毒起源、发展及分类

1996年的Staog是Linux系统下的第一个病毒,它出自澳大利亚一个叫VLAD的组织(Windows 95下的第一个病毒程序Boza也系该组织所为)。Staog病毒是用汇编语言编写,专门感染二进制文件,并通过三种方式去尝试得到root权限。 Staog病毒并不会对系统有什么实质性的损坏。它应该算是一个演示版。它向世人揭示了Linux可能被病毒感染的潜在危险。Linux系统上第二个被发现的病毒是Bliss病毒,它是一个不小心被释放出来的实验性病毒。与其它病毒不同的是,Bliss本身带有免疫程序,只要在运行该程序时加上 “disinfect-files-please”选项,即可恢复系统。

如果说刚开始时Linux病毒向人们展示的仅仅是一个概念,那么,在2001年发现的Ramen病毒,则已经开始引起很多人的担心。Ramen病毒可以自动传播,无需人工干预,所以和1988年曾使人们大受其苦的 Morris蠕虫非常相似。它只感染Red Hat 6.2和7.0版使用匿名FTP服务的服务器,它通过两个普通的漏洞RPC.statd和wu-FTP感染系统。

表面看来,这不是一个危险的病毒。它很容易被发现,且不会对服务器做出任何有破坏性的事情。但是当它开始扫描时,将消耗大量的网络带宽。

从1996年至今,新的Linux病毒屈指可数,这说明Linux是一个健壮的具有先天病毒免疫能力的操作系统。当然,出现这种情况,除了其自身设计优秀外,还有其它的原因。

首先,Linux早期的使用者一般都是专业人士,就算是今天,虽然其使用者激增,但典型的使用者仍为那些有着很好的电脑背景且愿意帮助他人的人,Linux 高手更倾向于鼓励新手支持这样一种文化精神。正因为如此,Linux使用群中一种倾向就是以安全的经验尽量避免感染病毒。其次,年轻,也是Linux很少受到病毒攻击的原因之一。事实上,所有的操作系统(包括DOS和Windows)在其产生之初,也很少受到各种病毒的侵扰。

然而, 2001年3月,美国SANS学院的全球事故分析中心(Global Incident Analysis Center——GIAC)发现,一种新的针对使用Linux系统的计算机的蠕虫病毒正通过互联网迅速蔓延,它将有可能对用户的电脑系统造成严重破坏。这种蠕虫病毒被命名为“狮子”病毒,与Ramen蠕虫病毒非常相似。但是,这种病毒的危险性更大,“狮子”病毒能通过电子邮件把一些密码和配置文件发送到一个位于china.com的域名上。Dartmouth学院安全技术研究所工程师威廉·斯蒂恩斯说:“攻击者在把这些文件发回去之后就可以通过第一次突破时的缺口再次进入整个系统。这就是它与Ramen蠕虫病毒的不同之处。事实上,Ramen病毒是一种比较友善的病毒,它在侵入系统后会自动关闭其中的漏洞,而这个病毒却让那些漏洞敞开并开辟新的漏洞。以至于如果你的系统感染了这个病毒,我们不能百分之百确信这个系统有挽救的价值,更加合理的选择很有可能是转移你的数据并且重新格式化硬盘。”

一旦计算机被彻底感染,“狮子”病毒就会强迫电脑开始在互联网上搜寻别的受害者。不过,感染“狮子”病毒的系统少于感染Ramen病毒的系统,但是它所造成的损失却比后者大得多。

随着Klez病毒在Linux平台上的传染,防毒软件厂商开始提醒我们微软的操作系统不再是唯一易受病毒攻击的操作系统了。即使Linux和其他一些主流 UNIX平台的用户可能不是微软捆绑应用软件的大用户,不可能通过这些软件造成病毒的泛滥,Linux和UNIX仍然有它们自身并不引人注目的脆弱点。除了Klez以外,其他Linux/UNIX平台的主要威胁有:Lion.worm、OSF.8759病毒、Slapper、Scalper、 Linux.Svat和BoxPoison病毒,这些都很少被提及。

病毒的制造者是一些精通编写代码的黑客,他们远比那些胡乱涂改网站却对编写病毒知之甚少的黑客要危险。一个被黑掉的网站可以很快修好,而病毒却更加隐蔽,会带来潜在的安全隐患,它会一直潜伏,直到给系统带来不可挽回的损害。

另外,越多的Linux系统连接到局域网和广域网,就会有越多受攻击的可能,这是因为很多Linux病毒正在快速地扩散着。使用WINE的 Linux/UNIX系统特别容易受到病毒的攻击。WINE是一个公开源代码的兼容软件包,能让Linux平台运行Windows应用软件。 WINE系统特别容易遭受病毒的攻击,因为它们会使无论是对Linux的还是对 Windows的病毒、蠕虫和木马都能对系统产生威胁。

Linux平台下的病毒分类

可执行文件型病毒:可执行文件型病毒是指能够寄生在文件中的,以文件为主要感染对象的病毒。病毒制造者们无论使用什么武器,汇编或者C,要感染ELF文件都是轻而易举的事情。这方面的病毒如Lindose,当其发现一个ELF文件时,它将检查被感染的机器类型是否为Intel 80386,如果是,则查找该文件中是否有一部分的大小大于 2,784字节(或十六进制AEO),如果满足这些条件,病毒将用自身代码覆盖它并添加宿主文件的相应部分的代码,同时将宿主文件的入口点指向病毒代码部分。一个名为Alexander Bartolich的学生发表了一篇名为《如何编写一个Linux的病毒》的文章,详细描述了如何制作一个感染在Linux/i386的ELF可执行文件的寄生文件病毒。有了这样具启发性的、在网上发布的文档,基于Linux的病毒数量只会增长的更快,特别是自Linux的应用越来越广泛之后。

蠕虫(worm)病毒:1988年Morris蠕虫爆发后,Eugene H. Spafford 为了区分蠕虫和病毒,给出了蠕虫的技术角度的定义,“计算机蠕虫可以独立运行,并能把自身的一个包含所有功能的版本传播到另外的计算机上。” (worm is a program that can run by itself and can propagate a fully working version of itself to other machines. )。在Linux平台下,蠕虫病毒极为猖獗,像利用系统漏洞进行传播的ramen,lion,Slapper……这些臭名远播的家伙每一个都感染了大量的 Linux系统,造成了巨大的损失。它们就是开放原代码世界的nimda,红色代码。在未来,这种蠕虫病毒仍然会愈演愈烈,Linux系统应用越广泛,蠕虫的传播程度和破坏能力也会随之增加。

脚本病毒:目前出现比较多的是使用shell脚本语言编写的病毒。此类病毒编写较为简单,但是破坏力同样惊人。我们知道,Linux系统中有许多的以.sh结尾的脚本文件,而一个短短十数行的shell脚本就可以在短时间内遍历整个硬盘中的所有脚本文件,进行感染。因此病毒制造者不需要具有很高深的知识,就可以轻易编写出这样的病毒,对系统进行破坏,其破坏性可以是删除文件,破坏系统正常运行,甚至下载一个木马到系统中等等。

后门程序:在广义的病毒定义概念中,后门也已经纳入了病毒的范畴。活跃在Windows系统中的后门这一入侵者的利器在Linux平台下同样极为活跃。从增加系统超级用户账号的简单后门,到利用系统服务加载,共享库文件注射,rootkit工具包,甚至可装载内核模块(LKM),Linux平台下的后门技术发展非常成熟,隐蔽性强,难以清除。是Linux系统管理员极为头疼的问题。

病毒、蠕虫和木马基本上意味着自动化的黑客行为,也许被病毒攻击比被黑客攻击更可能发生。直接的黑客攻击目标一般是服务器,而病毒是等机会的麻烦制造者。如果你的网络包含了Linux系统,特别危险的是服务器,不要在作出反应之前等待寻找Linux病毒、蠕虫和木马是否存在。做一些调查然后选择一个适合你系统的防毒产品,它们能帮你防止病毒的传播。至于Linux平台病毒在未来的发展,一切皆有可能。Windows下的病毒发展史,也有可能在Linux上重演,这取决于Linux的发展。

Linux背后的故事

Linux背后的故事

上个世纪未,Linux挟自由和开放的雄风狠狠火了一把,如今,经过几年光景的历练,Linux并没有像许多曾经红火一时的新玩意儿那样成为昙花一现的泡沫,而是变得更为务实和奋进,更值得我们用激赏的眼光去关注,用更大的热忱去拥抱。

Linux的诞生
说起Linux的诞生,在今天看来,简直就是一个神话。最初,年轻的芬兰大学生Linux Torvalds只是想编写一个免费的终端系统,用来查看电子邮件和下载上上传文件什么的。而Linux的得名,也即源于“Linus’s Minix (Linus的迷你Unix)”当他于1991年在comp.os.minix这个新闻群组POST出那份后来被视为Linux的诞生宣言时,一定没有人想到这个操作系统会在全世界受到如此广泛的欢迎。Linux在发行之初,即选用开放自由的GPL版权协议,一方面,吸引了无数电脑高手投入开发、改善Linux的核心程序,使得Linux的功能日渐强大;另一方面允许任何人以任何形式复制、发布Linux源程序,使得我们能够从网上免费下载或者只花很少的费用就可取得Linux的系统和软件。

Linux的特点
Linux是一套类Unix的多用户,多任务操作系统,其服务器应用相当专业,很多服务器软件都集成在了各个发行版本中。系统安装完成后,只需经过简单的配置,就可以使用包括Web、FTP、E-Mail、NNTP、Telnet、Samba等服务。近几年,Linux在桌面应用方面也有长足的发展。以Red Hat 9.0为例,系统已经支持包括简繁体中文,英文在内的数十种语言文字,并且包含有丰富的字处理,图形、多媒体、网络等方面的桌面应用软件。
Linux开放自由的版权令众多电脑玩家为之雀跃、它提供的多用户、多任务的操作环境,以及对硬件配置的低廉要求,使人个架构工作站已不是梦想。时至今日,Dell、Compaq、SGI和HP等公司更争相宣布在其高端服务器上开始支持Linux,成为Mirocoft大力宣传的Window9X系列以及Window NT系列操作系统强有力的竟争对手。

Linux在中国的发展
现在,国内已经有越来越多的企业选择Linux作为自己的操作系统平台,为Linux提供软硬件支持的生产人员也越来越多,这当中即有热爱Linux的程序员和他们的忠实拥护,也包括有金山、用友等消费类的行业软件厂商。此外还有很多行业如能源、保险、电子政务等也在开始使用Linux操作系统。中国信息产业部官员日前更是表示,Linux对于我们在软件研发领域取得的突破性进展是一个良机,中国政府计划注资基于Linux的计算机系统,中国将发展一个以Linux为基础的国内软件行业。

Linux你用 你可以
面对在性能和稳定性上不会逊于任何操作系统的Linux,我们做出选择时,已经没有太多的障碍。对于我从总体上这些已经习惯了在Windows下驰骋的用户来说,对Linux或或许有些望而生畏,轻易不敢登入Linux的殿堂。但Linux并不是什么洪水猛兽,它的终端界面及使用和Unix 具有相当的兼容性,和微软的DOS亦有许多相似之处,而它的桌面,已经可以和微软的视察相提并论,Linux系统中风格各异的多种应用软件,也足以让Windows汗颜,Linux的学习和使用,决不会比你当初学DOS和Windows更困难,这一点,从Linux用户的增长率上就可以看出来。
诚然,对于普通用户,目前要求我们马上从微软阵营彻底“投”到Linux的怀抱中,显然是不现实的;这正如要我们对于这么一个在业界影响巨大的另类操作系统视而不见一样,有些儿匪夷所思。依笔者的愚见,我们大可以像对待一个新颖有趣的软件、一个具有神话色彩的游戏、一个可能会令你得心应手的工具那样,来迎接这个迄今为止对我们依旧神秘的操作系统。Linux你用,你可以。