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