1、第五章Linux系统的启动第五章 Linux系统的启动教学内容: Linux启动步骤和GRUB init进程的分析 用户登录和Shell教学目标: 了解Linux启动步骤、Shell特点、GRUB 熟悉Shell的功能、init进程的功能 掌握GRUB、inittab文件的设置教学重点: GRUB的操作 Inittab文件的设置教学难点: init进程的分析及设置一启动步骤和GRUB1Linux启动过程分析 (1)BIOS自检 硬件检测及初始化 引导启动设备(2)引导启动设备 软盘(0磁道第一个扇区) 光盘(最外围存储轨道) 硬盘(MBR) USB存储设备(3)调用Linux引导程序至内存中
2、Linux的引导程序可以使用GRUB/LILO等引导软件 GRUB/LILO可以安装在MBR引导分区的引导扇区中(4)运行Linux内核 内核放在/boot目录中,Linux系统可以同时支持多版本内核 解压缩内核 检测硬件 加载root文件系统(5)执行init进程(按“i”单步运行) 启动新进程或关闭进程 选择启动模式 建立虚拟终端(6)用户登录 输入用户名及口令 加载用户配置文件 加载shell程序2引导盘的创建方法一:安装过程中创建方法二:mkbootdisk#mkbootdisk -device /dev/fd0 2.4.20-8方法三:使用dd命令# dd if=/boot/vmli
3、nuz of=/dev/fd0 3GRUB(1)GRUB简介 GRUB是一种基于intel平台的功能强大的启动引导器(2)GRUB特点 支持大硬盘,突破1024柱面的限制 支持两种界面(菜单,命令行) 开机画面 (3)安装GRUB 安装软件包#rpm ivh grub-0.934.i386.rpm 使用安装命令安装GRUB到MBR#grubgrubroot (hdx,y)grubsetup (hdx,y)(4)GRUB的配置#vi /boot/grub/grub.confgrub.conf中常用的配置命令有:default=菜单项序号/saved设置启动菜单的默认启动项hiddenmenu隐藏
4、菜单界面splashimage =图像文件全路径名指定某文件作为启动菜单的背景图像timeout=延迟秒数设置启动菜单的启延时title 菜单项名称开始一个菜单项的配置,设置菜单项的名称root (hdx,y)设置GRUB的根设备为linux内核所在的分区kernel 内核文件名称指定内核文件的名称及加载内核所需的参数initrd initrd文件名指定镜像文件的位置map (hdx,y) (hdx,y)建立虚拟磁盘rootnoverify (hdx,y)指定windows启动引导器的位置makeactive标识指定分区为活动分区chainloader +n/文件名称调用指定windows启动
5、文件password 口令/-md5 口令密文设置GRUB启动菜单和菜单项口令lock利用password设置的全局口令锁定菜单项savedefault保存当前启动菜单项为默认启动文件实例:# grub-md5-crypt(产生口令的MD5密文) # vi /etc/grub.conf default=0 timeout=50 splashimage=(hd0,0)/grub/splash.xpm.gz password -md5 #!dfdasdf34123!#$!# title RedHat Linux 9.0 root (hd0,) kernel /Vmlinuz-2.4.20-8 ro
6、 root=/LABEL=/ initrd /initrd-2.4.20-8.img password linux tile windows 2000 rootnoverify (hd0,0) chainloader +1 lock(5)GRUB的FAQ 编辑模式的使用用于临时修改菜单的选项,在菜单界面中按E键进入菜单主界面编辑模式 命令行模式的使用利用命令行命令设置GRUB,在菜单界面中按C键进入命令模式grub命令行中常用的命令有:grubroot (hdx,y) /设置根设备所对应的分区 grubkernel 内核文件 /设置内核文件的名称 grubinitrd 镜像文件名 /设置镜像文
7、件名 grubboot /启动指定操作系统 grubrootnoveify (hdx,y) /设置根设备所对应的分区,但不检查加载点 grubchainloader 文件名 /加载指定的文件grubhelp /获取帮助grubreboot /重启系统grubmd5-crypt /生成口令的MD5密文grubsetup (hdx,y) /安装GURB到MBR/指定分区的引导扇区中grubhide 分区 /隐藏分区grubcat 文件名 /显示文件内容grubfind 文件名 /查找文件 如果MBR中的GRUB引导程序被其它程序覆盖,应该如该恢复1) 放入第一张安装启动盘,开始启动计算机:boot
8、:linux rescue(启动linux的修复模式,加载硬盘上的LINUX系统到/mnt/sysimage)2) #grub grubroot (hdx,y) grubroot (hdx) 恢复GRUB的配置文件由于grub.conf设置的问题,可以采用以下方法进行恢复:1) 放入第一张安装启动盘,开始启动计算机:boot:linux rescue(启动linux的修复模式)2)#vi /mnt/sysimage/boot/grub/grub.conf 如何利用GRUB进入单用户模式,找回丢失的root用户口令在GRUB菜单界面中按e编辑linux菜单项,给内核添加参数single 如何卸载
9、GRUB1)#rpm -e grub2)C:fisk/mbr二init 进程1. init进程的作用init进程是系统启动第一个进程,它负责加载其它进程、管理系统的其它进程2. 系统运行级别运行级别说明0关机1单用户模式2多用户模式、不支持NFS3多用户模式4保留5X-WINDOWS6重启可以使用init在各个运行级别中进行切换,init命令格式如下:#init 3. inittab文件的分析/etc/inittab文件用于设置init进程在执行时加载哪些程序,inittab文件由若干个记录构成,每条记录格式如下:ID:RUNLEVEL:ACTION:COMMAND以下为默认inittab文件
10、内容:id:3:initdefault:si:sysinit:/etc/rc.d/init.d/rc.sysinitl0:0:wait:/etc/rc.d/rc 0l1:1:wait:/etc/rc.d/rc 1l2:2:wait:/etc/rc.d/rc 2l3:3:wait:/etc/rc.d/rc 3l4:4:wait:/etc/rc.d/rc 4l5:5:wait:/etc/rc.d/rc 5l6:6:wait:/etc/rc.d/rc 6ca:ctrlaltdel:/sbin/shutdown -t3 -r nowpf:powerfail:/sbin/shutdown -f -h +
11、2 “power failure;power shutting down”pr:12345:powerokwait:/sbin/shutdown c “power restored;shutdown cancelled”1:2345:respawn:/sbin/mingetty tty12:2345:respawn:/sbin/mingetty tty23:2345:respawn:/sbin/mingetty tty34:2345:respawn:/sbin/mingetty tty45:2345:respawn:/sbin/mingetty tty56:2345:respawn:/sbin
12、/mingetty tty6x:5:respawn:/etc/X11/prefdm -nodaemon说明:()Action用于设置调用进程的方式 Respawn只要进程停止,该进和便重新启动Wait进程运行一次,init等待到它停止Once进程运行一次Boot系统引导过程中,进程运行,忽略等级Bootwait系统引导过程中,进程运行,init等待结束Off无任何行动Initdefault系统默认运行等级Sysinit系统引导则运行,优先于boot或bootwaitPowerwait电源故障后发送信号给init,等待进程终止Ctrlaltdel当init收到SIGINT信号时,该进程运行Pow
13、erokwaitUPS恢复则向init发送SIGINT信号(2) 修改/etc/inittab文件,可以设置默认启动模式、各运行级别所加载的程序、CTRLALTDEL的动作、开设虚拟用户终端4. /etc/rc.d 的目录内容(1)/etc/rc.d/init.d目录 保存所有运行等级需要的所有脚本 启动、停止、重启某些服务(2)/etc/rc.d/rc 系统改变运行等级,通过此脚本检查/etc/rc.d/rcX.d目录和文件可存在,以及是否正在运行等,以及运行/etc/rc.d/rcX.d中所有S开头的脚本(3)/etc/rc.d/rcX.d目录 存放每一运行等级默认启动项,该目录中的文件链
14、接到:/etc/rc.d/init.d 文件名格式为KTwo-digit number script nameSTwo-digit number script name,K:以stop参数运行,S:以start参数运行;Two:数字代表执行顺序(4)/etc/rc.d/rc.local 该脚本在2,3,5运行等级结束时执行(5)/etc/rc.d/rc.sysinit 系统初始脚本,用于设置系统的时钟、加载键盘、加载系统字体、加载其他文件系统、激活交换分区、生成日志文件五用户登录1用户登录过程不存在存在2用户登录命令(1)su功能:切换用户登录 格式:#su 参数 - 用户名 参数:-c 命令
15、 :运行指定的命令 -m :不重新设置环境变量 -s shell路径 :运行指定的shell - :连同工作环境一起切换实例:$ su - #su user1$su -c /sbin/init 0 root(2)exit功能:退出用户环境(ctrl+d)格式:#exit(3)login功能:登录系统格式:#login 参数 用户名参数:p:通知login保持现在的环境参数h:用来向远程登录的主机传输用户名实例:#login(4)logout功能:退出用户环境、注消用户实例:#logout(5)sudo功能:以其它用户执行指定的命令,默认是以root身份,只有/etc/sudoers文件中指定的
16、用户有权执行格式:#sudo 参数 命令参数:-b 在后台执行指令-H 将HOME环境变量设为新身份的HOME环境变量。-k 结束密码的有效期限,也就是下次再执行sudo时便需要输入密码。-l 列出目前用户可执行与无法执行的指令。-p 改变询问密码的提示符号。-s 执行指定的shell。-u 以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。-v 延长密码有效期限5分钟。实例:#sudo /sbin/init 0说明:/etc/sudoers文件格式为:user host=all/nopasswd/run as 用户名 command lint;其中All代表所有文件,n
17、opasswd代表执行文件时不需要要口令(6)who功能:显示登录用户信息格式:#who 参数参数:-l 显示系统登录进程-b 显示系统最后一次启动时间实例:#who #who -l(7)w功能:显示登录用户信息格式:#w 用户实例:#w(8)whoami功能:显示当前终端登录的用户名称实例:#whoami(9)last功能:显示最近的用户登录情况格式:#last 参数参数:num 显示指定终端上的用户登录信息 -num 显示最近n次的用户登录信息 -i 显示登录主机的IP地址实例:#last#last 3(10)wall功能:向每个用户终端上的用户发送消息格式:#wall 参数参数:-n 不
18、显示消息来源实例:#wall#wall -n(11)write功能:向指定终端的用户发送消息格式:#write 用户名 终端 实例:#write user1 tty1注意:/etc/motd为公告板文件,用于记录所有公告信息;/etc/issue为欢迎信息文件(12)help功能:获取shell内置命令的帮助信息格式:#help 内置命令名实例:#help #help times(13)man功能:打开命令手册文件格式:#man 命令名/文件名实例:#man su3PAM(1)PAM简介PAM(Pluggable Authentication Modules)可插拔认证模块,使用共享库对用户登
19、录及资源访问进行认证(2)PAM体系结构 PAM可以被很多应用程序调用,提供验证功能 PAM机制通过调用应用程序的PAM模块进行验证,但PAM模块的验证要根据配置文件内容进行(3)PAM配置文件及目录 PAM配置文件由类型标记、控制标记、模块路径、模块参数四部分构成 类型标记是用于告诉PAM当前行的模块应用于哪类认证,PAM支持以下四种类型标记类型名称说明auth验证用户身份account用户账号管理,主要执行限制用户服务session在用户驼过验证之前/后需要进行的内容password提供用户验证之前身份的机制 控制标记告诉PAM如何对待模块认证失败,PAM支持以下四种类型的控制标记:名称说
20、明required模块认证失败会导致拒绝用户认证,仍进行PAM认证requisite模块验证失败会导致拒绝用户认证,并中断PAM验证optional模块控件目大多是在显示讯息而已,并不是用在验证方面sufficient模块验证成功,则准许用户认证,并中断PAM验证 PAM的相关目录lib/security目录:保存PAM模块文件/etc/pam.d目录:保存PAM配置文件 PAM配置文件实例(/etc/pam.d/other):auth required /lib/security/$ISA/pam_deny.soaccount required /lib/security/$ISA/pam_
21、deny.sosession required /lib/security/$ISA/pam_deny.sopassword required /lib/security/$ISA/pam_deny.so(4)PAM的应用 限制用户的登录终端#vi /etc/pam.d/login添加以下内容:auth required pam_securetty.so#vi /etc/securettytty1tty2tty3 限制用户使用资源的机率#vi /etc/pam.d/login添加如下内容:Session required pam_limits.so#vi /etc/security/limit
22、s.conf添加以下内容:u1 hard maxlogins 1(限制u1用户只能同时登录一次)注: /etc/security目录存放资源限制的相关文件,其中limits.conf较常用,它由用户及用户组、限制类型、资源类型、限制值四部分构成 用户组名必须开头,*代表所有用户 限制类型有soft和hard两种 资源类型包括以下几种:名称说明Core限制core文件大小,单位为KBdata最大数据大小,单位为KBfsize最大文件大小,单位为KBmemlock最大内存空间大小,单位为KBnofile打开文件个数的最大值cpu最大CPU时间,单位为分钟nproc最大进程数maxlogins同时最大登录数
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1