CentOS7如何重置root密码的方法
搬砖过程中杂七杂八的环境和配置问题,每次总能碰到不一样的错误。Google一下发现别人能解决的方法不一定适合你。这次我遇到问题的环境是:
Windows 10 企业版 2016 LTSVMware® Workstation 14 Pro 14.1.0 build-7370693
CentOS Linux release 7.5.1804 (Core)
VMWare中安装的CentOS 7 root密码忘记了,于是只能重置
一、启动客户机
进入如上界面之后按e
,然后进入如下界面
二、修改启动文件
光标往下,找到Linux16
,ro
的位置
将ro
改成rw init=/sysroot/bin/sh
,按Ctrl + x
重新启动。
这里说明一下,有的教程说改成rw init=/bin/sh
,反正我是没成功!改成rw init=/bin/sh
之后重启客户机报错如下
说我BIOS使hw-PMU资源奔溃,客户机操作系统已禁用CPU。请关闭或重置虚拟机。于是按照这个报错去Google了好久,说是Windows系统没有开启CPU虚拟化,于是重启笔记本进入BIOS
发现Intel virtualization Technology
是开启,问题越扯越离谱,还是改成rw init=/sysroot/bin/sh
吧!
三、重新启动
重启客户机后进入如下界面,执行chroot /sysroot
执行passwd root
更改root用户密码
:/# passwd root Changing password for user root New password: Retype new password: passwd: Authentication token manipulation error
四、更新/etc/shadow
如果有报错提示Authentication token manipulation error
,表示root密码更改失败,正确答案在这里。因为没有/etc/shadow
文件,如图
只有gshadow
和gshadow-
。通过pwconv
重新生成shadow
文件,并设置权限为-rw-r-----
五、重新挂载root分区
mount -o remount,rw /
此时再更改root密码,发现可以了
:/# passwd root Changing password for user root New password: Retype new password: passwd: all authentication tokens updated successfully
重启客户机登录成功!