你有没有遇到过这种情况:想不起来Linux系统上的用户帐户密码?要是你忘了根用户密码,情况就更为糟糕。你无法执行任何面向整个系统的变更。要是你忘了用户密码,很容易使用根帐户来重置密码。
可要是你忘了根帐户密码,那该如何是好?你无法使用用户帐户来重置根帐户密码,因为用户帐户通常无权执行这种任务。
重置CentOS 7和RHEL 7中遗忘的根用户帐户密码
万一你遇到了这种情况,这篇指南文章可以帮助你摆脱此类困境。本文将介绍如何重置RHEL 7和CentOS 7根帐户密码。
今天一大早,我打开了RHEL 7 Linux服务器,结果却发现它被锁住了。不是我搞砸了前一晚更改的密码,就是确确实实忘了密码。
遗忘的根帐户密码
那么,我现在该如何是好?我应该使用用户帐户登录,试着更改根帐户密码吗?
只有根用户才能设置密码
糟糕的是,我看到的信息是“Only root can specify a user name”(“只有根帐户才能指定用户名称”),我对根帐户失去了控制权。于是我打算引导进入到单一用户模式。为此,重启服务器;一旦你看到下列屏幕,就 按键盘上的“e”(代表编辑)。
按“e”进入编辑引导菜单
在你按了键盘上的“e”后,你会看到许多文本,文本内容会根据屏幕尺寸来缩短。
Grub配置
搜寻文本“rhgb quiet”,将它换成“init=/bin/bash”,不要引号。
启用外壳
一旦完成了编辑,按“ctrl+x”组合键,它会开始以指定的参数来引导。你会获得bash提示符。
引导系统
现在,在单一用户模式上运行下列命令,检查根分区的状态。
# mount | grep root
检查根分区挂载状态
你可能注意到,根分区被报告为“ro”(只读)。我们需要对根分区拥有读写权限,才能更改根帐户密码。
# mount -o remount,rw /
另外反复检查一下,看看根分配是否以读写权限模式来挂载。
# mount | grep root
对根分区设置权限
现在你可以更改根帐户密码了,只要键入passwd命令。但这还没完。我们需要重新标记SELinux上下文。如果我们跳过重新标记整个SELinux上下文这一步,就能够使用using password来登录了。
# passwd root [输入新密码] [重新输入新密码]
# touch /.autorelabel
重置根帐户密码
重启,再次登录进入到根帐户,看看一切是不是正常了?
# exec /sbin/init
登录根用户
上图清楚地显示,我们已通过从单一用户模式重置根帐户密码,成功登录进入到RHEL 7系统。
上述几个步骤清楚地显示了如何通过从单一用户模式重置根帐户密码,登录到RHEL 7和CentOS 7机器。
英文:Single User Mode: Resetting/Recovering Forgotten Root User Account Password in RHEL/CentOS 7