单用户模式修改root密码有两种方式:
方式一:
1 首先,在启动机器的时候进入如下界面后,按e
2 进入如下页面,找到linux 16 这一行,将ro修改成rw init=/sysroot/bin
3 进入如下页面,按ctrl+x,进入单用户模式
进入如下页面
4 执行如下命令
chroot /sysroot 系统目录文件将以/sysroot作为/的位置
echo '654321' |passwd --stdin root 为root用户修改密码
touch /.autorelabel 确保所有未标记的文件在启动的过程都会重新获得标记,使selinux生效
exit 退出
reboot 重启
5 登录终端
root密码重置完成!
修改密码中出现的问题及解决方法:
在centos7.2系统中reboot后会报这个Failed to start reboot.target:Transaction is destructive
解决方法:reboot -f 强制重启系统不询问
问题解决。
方法二:
1 首先,在启动机器的时候进入如下界面后,按e
2 找到linux16这一行尾 添加rd.break,按crtl+x后开始
进入如下页面
3 执行修改密码的指令
mount | grep root
# 查看root目录的挂载点
mount -o remount,rw /dev/mapper/centos-root /sysroot/
# 重新挂载/sysroot目录,使具有r,w权限
chroot /sysroot
# 换根
echo 'abc123' | passwd --stdin root
# 以管道的形式重置密码
touch /.autorelabel
# 在修改之后需要touch一个隐藏文件.autorelabel。因为在rd.break环境下SELinux是不生效的。在不生效的情况下我们修改了用户的密码,也就是修改了/etc/shadow文件,所以密码文件的安全上下文的特性会被取消。如果没有让系统在启动时自动恢复SELinux的安全上下文,系统会报错“无法登录”,所以SELinux在Enforcing模式下的时候(如在disabled模式下则不用),在根目录下touch隐藏文件autorelabel会让系统在重启时以 SELinux默认类型重新写入SELinux安全上下文。
exit
reboot
4 输入用户名密码进行登录,发现已经重置成功
root密码重置完成!
有任何问题都可以私信我哈