原理

linux启动顺序

  • 加载GRUB引导

  • 根据引导加载内核、initramfs(临时操作系统)

  • 挂载磁盘

  • 切换为正式操作,进入登录界面

因为linux的密码存放于/etc/shadow文件

只要在系统 挂盘前中断加载 ,就可以不加载密码而进入临时OS。进而跳过密码进行挂盘,对密码文件进行修改

重启机器

在控制台或VNC界面登录机器,重启,进入内核选择界面,按e进入grub参数编辑界面

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

修改grub引导

在内核(vmliz xx)加载命令的结尾加一个空格并插入

rd.break console=tty0


# rd.break: 插入中断
# console=tty0: 系统回显内容打印到控制台界面
打开网易新闻 查看精彩图片

ctrl +x ,启动系统

系统启动后为临时系统

 挂载磁盘,切换根目录
打开网易新闻 查看精彩图片
挂载磁盘,切换根目录

启动后系统盘为只读,以 读写 的方式重新挂载系统盘,并将根目录切换到系统盘

# 重新以读写方式挂载系统盘
mount -o remount,rw /sysroot


# 切换根目录
chroot /sysroot
打开网易新闻 查看精彩图片
修改root密码

以明文非交互形式修改密码,避免输错

以修改为 Centos@123 为例

echo'Centos@123' | passwd --stdin root
打开网易新闻 查看精彩图片
生成标签文件

当selinux是强制状态时,如果不手动生成标签文件,系统重启后密码文件会被恢复。修改后的密码不生效

如果不清楚系统当前selinux状态,建议不要跳过生成标签文件的步骤,按命令执行即可

touch /.autorelabel
打开网易新闻 查看精彩图片
重启机器

输入两次exit退出临时系统后,系统自动重启

 验证
打开网易新闻 查看精彩图片
验证

系统再次重启后,使用修改后的密码可以登录

打开网易新闻 查看精彩图片