CentOS7 忘记root密码
长时间不用的
CentOS
机器再次开机的时候忽然忘记了密码,总不能就重装一台吧,还有好多服务在机器上,于是决定重置root
的密码。如果是已经开启的机器,需要进行关闭,重新启动。
在启动选择内核版本的时候按上下键,令画面停住。
CentOS
7每次会有两个版本的内核供选择,简单的来说就是一个主内核版本,一个副内核版本,如果以后内核升级失败无法使用新内核重启时,可以通过这个界面选择旧内核重启进行修复言归正传,选择好了内核之后,按下
e
键,进入编辑界面。
找到以
linux16
开头的那一行,在行尾加上如下几句话:
- 1、如果是物理机,添加:
rd.break
- 2、如果是虚拟机,添加:
rd.break console=tty0
这里我用的是虚拟机,所以添加rd.break console=tty0
,如下图所示:
然后按
Ctrl+x
进行启动
进入shell环境之后,进行如下操作:1、将根目录重新挂载,模式可写
switch_root:/# mount -o rw,remount /sysroot
2、变更目录至根目录下
switch_root:/# chroot /sysroot
3、更改密码
sh-4.2# passwd4、如果安装的是中文系统,此时会出现乱码,可以根据经验直接输入,也可输入以下命令,当次变更语言为英语
sh-4.2# LANG=en_US5、如果
SELinux
开启需要更新SELinux
上下文,只要创建下面的文件即可sh-4.2# touch /.autorelabel6.退出重启
sh-4.2# exit switch_root:/# exit详细方法如下:
如果需要更新
SELinux
上下文,则重启的时间会比较长,有时系统没有提示,不要慌张,系统并没有崩溃。
重启之后即可用新密码进行登录了。