linux忘记root密码怎么办?

# cat /etc/redhat-release 
CentOS Linux release 7.7.1908 (Core)
修复模式:进入的是原来的系统。
1,特权模式:决大部分的服务不会开机启动,不需要root密码,直接以root账户身份登陆。
破解密码时特权模式。
1.重起系统,进入grub菜单
2.选择要使用的内核
3.按e

4.找到linux16那一行,把光标移动到最后,添加 init=/bin/sh
5.ctrl+x #保存退出

6.进入系统后,以rw方式重新挂载/分区
#mount -o remount,rw   /
7.永久关闭selinux
#vim /etc/sysconfig/selinux
8.修改密码

9.关机
# cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)

重启centos8,在这个界面按上下键选中第一行按’e’键

编辑启动文件进入如下界面,移动向下方向键至“linux”开头的行。然后按向右的方向键移动,找到“ro”并将其修改为“rw init=/sysroot/bin/bash”。(rw后边有空格,是系统自己添加的)

同时按住Ctrl和x键,系统进入如下界面,即emergency(紧急情况)模式

运行命令“chroot /sysroot/ ”切换到根目录,然后即可修改密码,修改完密码运行命令“touch /.autorelabel”,使SELinux生效,密码生效。如下图。(如果出现如下方块乱码,将当前终端语言临时设置为英文即可)。
/# chroot /sysroot/ 指定根目录
/# LANG=en 把语言改为英文

/# passwd 修改密码

/# touch /.autorelabel

同时按住Ctrl和d键,输入reboot,回车,系统重新启动。

重启系统后,输入新设置的密码就可正常登录系统了。

原文地址:https://www.cnblogs.com/pengpengboshi/p/13413813.html