How To Reset Root Password On CentOS 7
Resetting root password in CentOS/RHEL 7 is slightly different than the older versions. The post describes the procedure to reset the lost root password.
Reboot and edit grub2
Reboot the system and press any key to stop the auto-boot from the default kernel. Press “e” after selecting the kernel line.

Append rd.break to kernel
When you are in edit mode, go to the line starting with linux16 and append rd.break to the end of this line.

This will cause the machine to boot into emergency mode, which gives you root user privileges without you having to enter a root user password. Even if the root user password hasn’t been set, this still works.
Reboot the system
Press CTLR+x after appending the rd.break to the kernel. This will reboot the system into emergency mode.

Remount sysroot
First we will remount the sysroot file system in read write mode and then use chroot to got into a chroot jail:
# mount -o remount,rw /sysroot
# chroot /sysroot
Reset root password
Finally, type passwd command in the command line and set the new password for root user. You might get some warnings like “password fails dictionary check” if your password is weak. You may safely ignore the warning and set the password you want.
# passwd

SElinux relabeling
Make sure that all unlabeled files ( including shadow file ) gets relabeled during booting. Touching the hidden file autorelabel instructs SElinux to relabel the files changed outside of its regular context, like the file /etc/shadow.
# touch /.autorelabel
sync
To flush all cache to disk, type the command:
# sync
Reboot
Type twice the exit command to leave the chroot environment and log out. The system will apply some SELinux contexts and reboot. You can now log in using your newly set root password.
本文详细介绍了在CentOS/RHEL 7系统中,当忘记root密码时如何通过编辑GRUB2菜单进入紧急模式,然后重新设置root密码的步骤。包括重启并编辑GRUB2、在内核行尾添加`rd.break`、重新启动进入紧急模式、挂载sysroot、使用`chroot`、重置密码、进行SElinux重新标记、同步数据和最后重启系统。

1543

被折叠的 条评论
为什么被折叠?



