针对Linux CentOS 7 忘记root密码的处理。
-
开机
开机的时候出现如下画面的时候,按下e 键
第一、二是指内核,第三个是救援模式。 -
从屏幕信息中找到如下字符,
rhgb quiet LANG-zh CN.UTF-8 倒数第二行。
在字符后面追加,
rd.break enforcing=0
-
然后按下 CTRL+X 进入单用户模式
出现如下界面:
-
执行
依次执行
mount -o remount,rw /sysroot
chroot /sysroot
passwd
-----输入新密码
---- 再次输入新密码
touch /.autorelabel -- 开启了SELinux的需要执行,没开启的可以不执行,如果开启了没有执行,开机后SELinux会报错,可以直接用root权限执行此命令后重启即可修复。
mount -o remount,ro /
exit
exit
等待系统重启即可。。。
相关命令解释
mount命令的一些参数
-o remount:将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是唯读的系统,现在用可读写的模式重新挂上。
-o ro:用唯读模式挂上。
-o rw:用可读写模式挂上。
所以上面的 mount -o remount,rw /sysroot
命令的意思就是,重新以可读写的模式挂载/sysroot 目录。我们通过这种方法进入单用户模式时,默认是以ro 也就是只读模式挂载的。所以要重新挂载一下。
chroot命令用于改变根目录,chroot /sysroot
命令就是把sysroot 指定为根目录。
passwd
命令用于设置当前用户密码
mount -o remount,ro /
命令把根目录设置回原来的 /
,