Linux运行级别
CentOS 7 | CentOS 6 | |
0 | 关机 | 关机 |
1 | 救援模式secure | 单用户模式,找回root密码 |
2 | 多用户模式 | 无网络的多用户模式 |
3 | 多用户模式 multiuser | 命令行模式,文本模式,工作默认模式 |
4 | 多用户模式 | 待开发使用 |
5 | 图形界面化模式,桌面模式 X11 | 图形界面化模式,桌面模式 X11 |
6 | 重启 | 重启 |
查看当前系统运行级别:systemctl get-default
修改运行级别(未来生产模式基本不修改):systemctl set-default graphical.target #multi-user.target
临时切换运行级别:重启 init 6;关机 init 0
Linux启动流程
经典面试题:描述一下Linux的启动流程
按下电源,开机自检硬件(CPU、内存、磁盘)是否有问题、BIOS/UEEFI——Basic Input/Output System,基本输入输出系统
加载引导程序MBR(/boot /swap)/GPT(/boot/efi /swap),引导系统启动磁盘(0头0道1扇区446)——Master Boot Record,主引导记录
GRUB菜单:选择进入模式,启动的内核——CentOS 6进入单用户模式;CentOS 7救援模式
加载Linux系统内核(/boot)到内存进行
内核初始化第一个进程——CentOS 6 init进程;CentOS 7 systemd进程
读取运行级别——CentOS 6 /etc/inittab;CentOS 7 /usr/lib/systemd/system/runlevel*.target
初始化系统,加载网络,主机名,自动挂载——CentOS 6 /etc/rc.sysinit;CentOS 7 /usr/lib/systemd/system/sysinit.target
根据运行级别启动服务——CentOS 6 串行启动服务;CentOS 7 并行启动服务
显示登录页面——CentOS 6 运行mingetty(明哥tty)显示login界面;CentOS 7 /usr/lib/systemd/system/getty.target 哥tty
Linux系统root用户密码忘记
尽可能避免这个情况出现:
多准备个备用用户,普通用户设置sudo权限;不仅仅设有密码认证,还有其他认证方式;做好keepass/excel表格保存统计密码
root密码重置
重启Linux;进入GRUB菜单(先不要继续)选择目前使用中的Linux内核,按 e ,编辑内核配置
找到Linux16的行,修改这一行的内容ro改为rw ,按 END 键到这一行的最后,输入 init=/bin/bash
修改完成,执行ctrl+x启动系统,进入救援模式(此时无法远程连接)
通过vi/vim编辑/etc/passwd文件,去掉root的x标记(此时,root用户已没有密码),重启Linux后本地登录Linux设置root密码即可
光盘/U盘救援模式
本地登录设置密码
重启让系统以光盘(U盘)方式启动,在vmware logo页面的时候按一次esc键,弹出启动菜单,选择CD-ROM Driver(光盘)
进入到系统安装页面,选择第3个“Troubleshooting”,回车进入
然后选择第2个"Rescue a CentOS system",进入光盘救援模式
耐心等待后,出来多个选项:输入1选择第1个选项
此时,/mnt/sysimage是你磁盘原有的根目录,例查找/etc/passwd文件是在/mnt/sysimage/etc/passwd
使用chroot /mnt/sysimage命令切换系统的根目录的位置为/mnt/sysimage位置下即可
救援模式 | 光盘救援模式 | 普通救援模式 |
特点 | 进入系统,重置密码 | 进入系统,重置密码 |
应用场景 | 系统无法正常进入,作为进入系统最后的手段 | 重置密码等操作 |