CentOS 8 单用户模式更改root密码
收集了有关资料...其实就是网上百度
方法应该有两种,具体原理还是放进黑匣子吧。
方法一、需要 chroot /sysroot/ 切跟
1:老规矩,启动前按“e”进入启动配置编辑模式
2:修改启动权限配置
#找到ro 改为rw init=/sysroot/bin/sh
将ro(只读)改为:rw init=/sysroot/bin/bash (很明显,sysroot用户读写权限下的编辑模式)
##把 ro 改为rw init=/sysroot/bin/sh
3:按“ctrl+x”进入紧急模式
4:更改密码
(1):passwd root 修改root密码
(2):明文修改root 密码
运行命令 chroot /sysroot/ 切换回原始系统即切跟。
然后输入passwd设置新密码(建议明文修改,保不准万一键入问题被搞死)
修改完成后运行命令 touch /.autorelabel 使SELinux生效,密码生效。
三部曲
chroot /sysroot/
echo 'ad123654' | passwd --stdin root
touch /.autorelabel
5:退出重启。。。(应该是有个直接进入启动页面的)
exit
reboot
6:验证:遇到selinux的等会系统自动重启;
方法二、不需要 chroot /sysroot/ 切跟
1:老规矩,启动前按“e”进入启动配置编辑模式
2:修改启动权限配置
将ro 改为:rw
在末尾加入:init=/bin/sh
3:ctrl + x 进入紧急模式
4:更改密码
然后输入passwd设置新密码(建议明文修改,保不准万一键入问题被搞死)
修改完成后运行命令 touch /.autorelabel 使SELinux生效,密码生效。
exec /sbin/init 快速启动
三部曲
echo 'ad123456' | passwd --stdin root
touch /.autorelabel
exec /sbin/init
5:验证:遇到selinux的等会系统自动重启;
总结:与CentOS 7 相比,不用再挂载目录了:mount –o remount,rw /sysroot ,多了一个声明操作“touch /.autorelabel”,其他都还是一样的。当然,Linux 8 和CentOS 8 有可能是不一样的,还需后续验证。