root用户忘记密码,如果当前有其他有sudo权限的用户登录,可以用其他用户执行sudo passwd root来更改root的密码
另一种方法是进入单用户模式中,使用passwd来更改密码,在Centos7中进入单用户模式的方式如下:
在重新启动系统后,进入内核选项中,在linux启动的内核选项最后添加“rw init=sysroot/bin/sh”
然后启动会进入到单用户模式中
进入单用户模式下先执行chroot sysroot,然后执行passwd修改root用户的密码:
第三种方法是在进入内核选项后,在最后添加rd.break在执行initial ramdisk的时候打断执行
进入shell后首先需要挂载文件系统
mount -o remount,rw /sysroot
chroot /sysroot
然后可以直接修改密码
最后直接退出当前shell,然后退出switch_root就会继续往下执行
需要注意的是,如果当前系统的selinux开启,则按照上述步骤执行后,虽然root用户的密码已经修改,但是还是无法登陆到系统中,这时需要在rd.break的shell中执行
load_policy -i
restorecon -Rv /etc
这会重新加载selinux的上下文,能够解决selinux上下文不匹配的报错情况。