码迷,mamicode.com
首页 > 其他好文 > 详细

学习笔记(二)——单用户模式、救援模式、运行级别、启动流程、登录文件

时间:2015-03-18 18:24:51      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:linux   单用户模式   启动流程   救援模式   登录文件   

1.单用户模式:

   Linux 中的单用户模式可以类比一下 Windows 中的安全模式。在单用户模式下很常用的功能是修改 root 密码。如何进入单用户模式:

   重启Linux,3秒钟内按一下回车键,进入新画面。如果 grub 加密,需要先按 p 键, 输入 grub 密码。之后按 e 键,选择第二行,再按 e 键,在内容的最后面加上 1 或 single 或 s,回车后按 b 启动,即可进入单用户模式。

   [root@localhost ~]# passwd

   进行修改,重启即可。这里补充一下如何为 grub 加密:

   [root@localhost ~]# grub-crypt --md5

   Password: 111111

   Retype password: 111111

   $1$sqoKZg6F$cej0v.Vrvf6M3cajAdE8G/

   将加密后的密码复制,修改如下文件:

   [root@localhost ~]# vim /etc/grub.conf  //或者 vim /boot/grub/grub.conf 软链接的关系

技术分享

图-1 /boot/grub/grub.conf 文件

   如图 1 所示,在 hiddenmenu 和 title 行中间添加一行, password=111111 可以指定明文密码, password --encrypted 粘贴生成的 MD5 密码,指定非明文密码。grub 还可以采用两种加密形式:

   [root@localhost ~]# grub-crypt --sha-256

   [root@localhost ~]# grub-crypt --sha-512   //默认形式,等同于 grub-crypt

   方法相同,将生成的密码粘贴到 /boot/grub/grub.conf 文件中即可。


2.救援模式:

   救援模式可以类比 Windows PE ,在系统不能正常启动时进入可以通过救援模式提取数据或者进行修复。如何进入救援模式:   

   重启 Linux,在重启过程中按 F2 ,进入 BIOS 设置,调整 BOOT 启动顺序,从 CD-ROM Drive 启动(光盘启动),之后按 F10 保存并重新启动。选择第三行 Rescue installed system ,进入救援模式。期间会让你选择语言、键盘类型、是否开启网卡、是只读进入还是读写进入(建议选择Continue,即以读写形式进入)。之后原 Linux 系统会被挂载到 /mnt/sysimage 下。之后显示如图2界面:技术分享

图-2 救援模式进入形式

   第一行为直接进入 shell,第二行进入诊断模式(暂时不知道进入的具体作用是什么),第三行重启。选择第一行,进入后通过

   chroot /mnt/sysimage

   命令即可进入原 Linux 系统的文件系统中,可以做修改。完成后不能直接重启,通过 logout 或 Ctrl + d 返回,之后通过 reboot 或 shutdown -r now 或 init 6 命令重新启动即可。


3.系统运行级别:

   Linux 系统有 7 种运行级别:

   0 - 关机

   1 - 单用户

   2 - 无网络服务的多用户模式

   3 - 标准的多用户模式    //即 shell 

   4 - 保留级别

   5 - 图形化界面

   6 - 重新启动

   系统开机默认进入的运行级别在如下文件中修改:

   [root@localhost ~]# vim /etc/inittab

   id:3:initdefault:

   修改 id 后的数字即可。切记不可把 0 和 6 两个级别设为默认值,否则系统不能正常启动,需要进入单用户模式将运行级别修改回来。通常我们使用标准的多用户模式作为运行级别。

   使用下述命令可以查看系统上一次和本次的运行级别:

   [root@localhost ~]# runlevel

   N 3  //上次未知,本次运行级别为 3


4.Linux 启动流程:

   理解 Linux 启动流程有助于我们在遇到系统无法启动的问题时快速寻找并定位原因以解决问题。先来看一张启动流程图,如图 3:

技术分享

图-3 Linux 启动流程

   这张图已经说的很明白了,用文字描述一下:

   (1)系统通电

   (2)初始化硬件(显卡,内存,硬盘,时间等)

   (3)寻找启动介质(CD-ROM, HDD, USB, PXE等)

   (4)MBR(主引导记录,包括三部分:引导程序,即Boot loader, 446字节;分区信息,64字节,校验码, 2字节(这两个字节为55 aa,对于所有MBR都是相同的,了解一下)。总共 512 字节)。查看 MBR 内容:

   [root@localhost ~]# touch mbr

   [root@localhost ~]# dd if=/dev/sda of=./mbr bs=1 count=512

   [root@localhost ~]# hexdump -C ./mbr

   即可查看。注意 MBR 中是 16 进制,不能通过 cat , head , tail 等命令查看。

   Boot loader 分为grub 和lilo, 现在基本已经不再使用lilo

   (5)进入 /boot/grub/ 目录,其中最重要的是三类文件 stage1, stage1_5 和 stage2 ,其中 stage2 是 grub 核心映像。

   (6)/boot/grub/grub.conf 通过该文件启动 kernel

   (7)/sbin/init

   (8)/etc/inittab 决定采用哪种系统运行级别

   (9)/etc/rc.sysinit 或 /etc/rc.d/rc.sysinit 启动网络,检测SELinux,设置系统时间,开启交换分区等。

   (10)/etc/rc.d/rc0.d/ /etc/rc.d/rc1.d/ /etc/rc.d/rc2.d/ …… /etc/rc.d/rc6.d/ 根据所采用的运行级别进入相应文件夹,从而针对不同运行级别开启相应进程、关闭相应进程(通过 ll /etc/rc.d/rc3.d/ 查看,其中 K 开头的为要关闭的进程, S 开头的为要开启的进程,数字代表优先级,数字越小优先级越高)。

   (11)/etc/rc.local 或 /etc/rc.d/rc.local ,系统启动完成后第一个运行的文件,允许用户进行个性化配置,比如挂载硬盘,或者开机启动 nginx 服务等。

   (12)/bin/login 进入可登录状态。


5.用户登录时用到的文件:

   (1)全局文件:即无论哪个用户登录都要加载的文件

   [root@localhost ~]# vim /etc/profile

   [root@localhost ~]# vim /etc/bashrc

   举个例子,修改 /etc/bashrc ,在其最下面加上一行: alias cls=‘clear‘ ,可以为所有用户添加 clear 命令的别名。

   (2)非全局文件:针对每个不同的登录用户单独加载的文件

   [root@localhost ~]# vim ~/.bash_profile

   [root@localhost ~]# vim ~/.bashrc

   举个例子,修改 /root/.bashrc , 在其最下面加上一行: stty -echoctl , 可以为 root 用户隐藏在使用 Ctrl + c 时出现的 ^C 标记。

   注:profile、 .bash_profile 为用户第一次登录时执行一次,bashrc、 .bashrc 为开启一个 shell 时执行一次。在前者中通常配置环境变量,在后者中通常配置别名。

   如果用户家目录下的 .bash_profile 和 .bashrc 被删,则登录会异常,解决方法:

   [root@localhost ~]# cp -p /etc/skel/.bash* /root   //-p 参数,复制用户、用户组和权限

   即可。(需要单用户模式或救援模式)    

学习笔记(二)——单用户模式、救援模式、运行级别、启动流程、登录文件

标签:linux   单用户模式   启动流程   救援模式   登录文件   

原文地址:http://xitongjiagoushi.blog.51cto.com/9975742/1621852

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!