Linux基础——centos 跳过管理员密码进行登录(单用户模式、救援模式)

  这里列举了两种更改或者取消管理员密码登录Linux系统的方法,其实两种方法类似,都是想方设法跳过用户认定,直接更改用户文件、更改密码的过程。

  为了跳过系统正常启动过程中的某些步骤,必须知道大致的系统启动流程是什么样的。大概情况如下:

  

  加电---->BIOS--->启动介质--->先读第一个扇区,引导 MBR--->GRUB--->找到kernel加载到内存--->执行第一个程序init

  单用户模式是从GRUB中跳过了用户认证,直接运行 bin/sh ,进而改root用户密码或者去掉密码。

  救援模式是从BIOS中更改启动首选项,从系统光盘中引导系统启动,再回来更改root用户文件,达到更改密码或者去掉密码的目的。

法一:单用户模式

启动时,随便按一个键,空格即可(不能是回车),让其停留在如下界面

按e编辑,按上下键,将光标移至最后一页

在UTF-8后面添加init=/bin/sh

init=/bin/sh

 

根据上面提示,按Ctrl+x启动

成功执行后出现 sh-4.2#

输入mount -o remount,rw /  (因为是要对文件直接进行更改,所以必须有读[r]和写[w]的权限)

现在可以改密码了,使用passwd更改密码,或者vi打开passwd文件,将用户密码标志位的x去掉,意为没有密码。

如果系统开启了SELinux(安全子系统),需要运行touch /.autorelabel命令,否则系统可能无法正常启动

输入 exec /sbin/int 或者 exec /sbin/reboot重启

 

法二:救援模式

将首选项更改为光盘(必须保证光盘中有系统镜像)保存,重启

选择最后一项,“问题解决”

选择救援系统

选择继续

 

选择OK,执行之后系统是从光盘这个路径上启动的,原来电脑上的系统文件放在 /mnt/sysimage 下,可以使用 chroot /mnt/sysimage 执行原系统的程序,但是执行之后需要退出,再从光盘这个系统这边对电脑进行重启等操作。

chroot /mnt/sysimage 执行原系统文件,这时可以使用passwd更改密码,或者vi打开passwd文件对密码标志位进行修改。

之后 exit 退出原系统,再reboot重启,进入BIOS将首选项改回硬盘就好。

原文地址:https://www.cnblogs.com/zihe/p/6905579.html