- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux启动服务和xinetd
第章 Linux服务和xinetd
本章要点
Linux启动过程
Linux守护进程
xinetd
Linux服务管理工具
安全选择Linux服务
.1? Linux启动过程
.1.1? Linux的启动过程详解
1.从BIOS到内核
(1)BIOS自检
计算机在接通电源之后首先由BIOS进行自检,即进行所谓的POST(Power On Self Test),然后依据BIOS内设置的引导顺序从硬盘、软盘或CDROM中读入引导块。在PC中,引导Linux是从BIOS中的地址0xFFFF0处开始的。BIOS的第一个步骤是加电自检(POST),POST的工作是对硬件进行检测。BIOS的第二个步骤是进行本地设备的枚举和初始化。给定BIOS功能的不同用法之后,BIOS由两部分组成:POST代码和运行时服务。当POST完成之后,它从内存中清理出来,但是BIOS运行时服务依然保留在内存中,目标操作系统可以使用这些服务。要引导一个操作系统,BIOS运行时会按照CMOS的设置的顺序来搜索处于活动状态并且可以引导的设备。引导的设备可以是软盘、CD-ROM、硬盘上的某个分区、网络上的某个设备,甚至是USB闪存。通常,Linux都是从硬盘上引导的,其中主引导记录(MBR)中包含主引导加载程序。MBR是一个512字节大小的扇区,位于磁盘上的第一个扇区中(0道0柱面1扇区)。当MBR被加载到RAM中之后,BIOS就会将控制权交给MBR。
(2)提取MBR的信息
要查看MBR的内容,请使用下面的命令:
# dd if=/dev/hda of=mbr.bin bs=512 count=1 # od -xa mbr.bin 这个dd命令需要以root用户的身份运行,它从/dev/hda(第一个IDE盘)上读取前512个字节的内容,并将其写入mbr.bin文件中。od命令会以十六进制和ASCII码格式打印这个二进制文件的内容。
2.启动GRUB/LILO
GRUB和LILO都是引导加载程序。简单地讲,引导加载程序(boot loader)会引导操作系统。当机器引导它的操作系统时,BIOS会读取引导介质上最前面的512字节(主引导记录,即master boot record,MBR)。在单一的MBR中只能存储一个操作系统的引导记录,所以当需要多个操作系统时就会出现问题,因此需要更灵活的引导加载程序。
所有引导加载程序都以类似的方式工作,满足共同的目的。不过,LILO和GRUB之间有很多不同之处:
LILO没有交互式命令界面,而GRUB拥有。
LILO不支持网络引导,而GRUB支持。
LILO将关于可以引导的操作系统位置的信息在物理上存储于MBR中。如果修改了LILO配置文件,必须将LILO第一阶段的引导加载程序重写到MBR。对于GRUB,这是一个危险的选择,因为错误配置的MBR可能会让系统无法引导。使用GRUB,如果配置文件错误,则默认转到GRUB命令行界面。
安全提示? 关于安全性,任何可以接触到引导磁盘/CD的人,只需要使用没有设置安全性的grub.conf或lilo.conf,就可以绕过本节中提及的所有安全措施。特别是使用GRUB时,因为能够引导到单用户模式,所以是一个严重的安全漏洞。解决此问题的一个简单方法是在机器的BIOS中禁止通过CD和软盘进行引导,并确保为BIOS设置了口令,使得其他人不能修改这些设置。
3.加载内核
当内核映像被加载到内存之后,内核阶段就开始了。内核映像并不是一个可执行的内核,而是一个压缩过的内核映像。通常它是一个zImage(压缩映像,小于512KB)或bzImage(较大的压缩映像,大于512KB),它是提前使用zlib进行压缩的。在这个内核映像前面是一个例程,它实现少量硬件设置,并对内核映像中包含的内核进行解压,然后将其放入高端内存中,如果有初始RAM磁盘映像,就会将它移动到内存中,并标明以后使用。然后该例程会调用内核,并开始启动内核引导的过程。
在GRUB命令行中,我们可以使用initrd映像引导一个特定的内核,方法如下:
grub kernel /bzImage-[Linux-bzImage, setup=0x1400, size=0x29672e]grub initrd /initrd-.img[Linux-initrd @ 0x5f13000, 0xcc199 bytes]grub bootUncompressing Linux... Ok, booting the kernel. 如果你不知道要引导的内核的名称,只需使用斜线(/)然后按下Tab键即可。GRUB会显示内核和initrd映像列表。
安全提示? 通过MD5进行GRUB密码加密,这样会更安全。
原来GRUB的密码是123456,所以先要用M
您可能关注的文档
最近下载
- 中班语言绘本《章鱼先生卖雨伞》PPT课件(原版有声动态).pptx
- 大学毕业设计 汽车悬挂系统设计.doc
- 统编版六年级语文下册快乐读书吧《鲁滨逊漂流记》整本书阅读推进课.pptx VIP
- 2023年故宫博物院招聘笔试参考题库附带答案详解.pdf
- 蒸汽爆破法制浆的研究进展 .pdf VIP
- 幼儿园园本培训课件.pptx VIP
- 国际汉语教师证书汉办预测卷二.docx
- JB_T 14047-2021CN超超临界汽轮机用ZG13Cr9Mo2Co1NiVNbNB耐热钢铸件 技术条件.pdf
- 深入贯彻学习2025年中央八项规定精神教育测试试题【含答案】.docx VIP
- 原发性肝癌的ct诊断.ppt VIP
文档评论(0)