忘记Linux root密码时,只需重启Linux系统,然后引导进入Linux的单用户模式(init 1),由于单用户模式不需要输入登陆密码,因此,可直接登陆系统,修改root密码即可解决问题。需要说明的是,CentOS6和CentOS7下修改root密码的方式是不同的。

一、RHEL/CentOS6.x及之前修改root密码

操作步骤如下:

1.重启系统,待系统启动到grub引导菜单时,按Esc键,找到当前系统引导项。如果有多个可用内核,则会有多个引导选项。

2.通过方向键定位到需要使用的系统引导内核选项上,然后按键盘e键,进入编辑状态。

3.然后通过上下方向键,选中带有kernel指令的一行,继续按e键,编辑该行,在行末尾价格空格,然后添加single。

4.修改完成后,按Enter键,返回到刚才的界面。

5.最后按b键,系统开始引导。

这样就切换到单用户模式下,单用户模式与Windows的安全模式类似,只启动最基本的系统,网络以及应用服务均不启动。单用户模式启动完毕,系统自动进入命令行状态下,输入passwd,系统提示输入两次新的密码,就可修改密码。

如果需要正常启动系统,只需输入init 3,切换到多用户模式下。用root登陆系统即可。

二、RHEL/CentOS7中修改root密码

在CentOS7.0版本之后,Linux的机制发生了变化。在系统引导方面,使用grub2代替了之前的grub的引导,init初始化程序也更换成了systemd初始化程序,随之而来,root密码重置的方法也发生了变化。

操作步骤如下:

1.重启系统,待系统启动到grub2引导菜单时,找到当前系统引导选项(如果有多个可用内核,则会有多个引导选项),按e键,进入编辑模式。

2.然后通过上下方向键将光标定位到kernel引导行所在行尾,然后添加以下内容

 init=/bin/sh

3.添加完成,按Ctrl+x组合键启动shell引导,最后进入单用户模式

4.要挂载根分区为可读写模式,执行如下命令

mount -o remount,rw /

5.这里需要注意,如果系统已开启了SELinux,还需要在根分区中创建autorelabel文件,否则系统无法正常启动。

查看SELinux是否开启

/usr/sbin/sestatus

(如果SELinux开启),创建autorelabel文件(我在操作时,检测到SELinux未开启,但也进行了下面的操作,否则最后一步可能无法重启。不知道不能重启的原因是不是这里)

touch /.autorelabel

6.然后就可以执行passwd命令重置密码了。

passwd

提示输入两次新密码即可。

7.密码修改完后,需要重启

直接执行reboot命令已经无效,需要输入全路径命令

exec  /sbin/init

exec /sbin/reboot

这样就完成了密码重置,正常登陆系统,查看密码是否修改成功。

(注意:我在输入exec /sbin/init命令后,虚拟机中centos一直没反应,等了差不多一两分钟后才有反应。)

参考:

《循序渐进Linux》第2版 10.1.2章节 P326

Linux忘记root密码解决方案的更多相关文章

  1. openSUSE Linux 忘记root密码的解决方法

    openSUSE Linux 忘记root密码的解决方法 : 对于大部分linux发行版本,忘记root密码的时候,是可以通过单用户模式来重设密码的. 如在redhat/fedora 下,可以通过在启 ...

  2. Linux忘记root密码怎么办?

    开篇前言:Linux系统的root账号是非常重要的一个账号,也是权限最大的一个账号,但是有时候忘了root密码怎么办?总不能重装系统吧,这个是下下策,其实Linux系统中,如果忘记了root账号密码, ...

  3. Linux忘记 root密码的解决办法

    很多朋友经常会忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码即可. 步骤如下: 重启linux系统 重启 ...

  4. Linux 忘记root密码

    1 将系统重启,读秒的时候按下任意键就会出现如下图菜单界面 2 进入上图菜单界面之后,按e键就可以进入grub的编辑模式 3 选择第二行 kernel开头,再按 e 键进入该行的编辑界面中,然后在出现 ...

  5. linux忘记root密码怎么办

    如何找回root密码,如果我们不小心,忘记root密码,怎么找回? 思路:进入到单用户模式,然后修改root密码.因为进入单用户模式,root不需要密码就可以登录. 详细过程: 1.打开虚拟机 2.开 ...

  6. Linux忘记root密码,密码找回,图片展示

    忘记root密码 CentOS 7参考地址如下:https://www.baidu.com/s?wd=CentOS7+%E6%89%BE%E5%9B%9Eroot%E5%AF%86%E7%A0%81& ...

  7. linux中忘记root密码解决方案

    方法一: 如果用户具有sudo权限,那么直接可以运行如下命令: #sudo su root #passwd #更改密码 或者直接运行sudo passwd root命令就可以直接更改root密码. 有 ...

  8. linux 忘记root密码怎么处理。

    这个是不少人纠结的地方.一台服务器,太久没使用,然后又没有一个文件txt,excel记录那些密码相关的东西.所以导致很多信息忘记了. 参考文章:https://blog.csdn.net/cranky ...

  9. Linux忘记root密码后如何在grub界面中以单用户模式进入系统并重置密码的方法

    本文将介绍在Linux系统中忘记root用户密码的情况下,如何在gurb界面进入单用户模式并重置root用户密码.在单用户模式下,用户不需要输入任何密码即可进入系统并可以修改密码.实验步骤如下: 1. ...

随机推荐

  1. 【转】vux (scroller)上拉刷新、下拉加载更多

    1)比较关键的地方是要在 scroller 组件上里加一个 ref 属性 <scroller :lockX="true" height="-170" :p ...

  2. db2查看当前用户模式及当前用户的权限

    1.连接数据库:db2 connect to appdb 2.查询当前用户模式:select current schema from sysibm.sysdummy1 或 select current ...

  3. leetcode-mid-Linked list-2 Add Two Numbers

    mycode 87.22% # Definition for singly-linked list. # class ListNode(object): # def __init__(self, x) ...

  4. leetcode-mid-array-5. Longest Palindromic Substring

    mycode   12.51% class Solution(object): def longestPalindrome(self, s): """ :type s: ...

  5. 阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第4节 多态_15_多态的概述

    不是多种状态,而是有多种形态 继承是多态的前提 子类就是一个父类.学生就是一个人 多态性说的是这个对象.

  6. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_06 Set集合_2_哈希值

    没有重写就是十进制的整数,重写了想返回多少就是多少. 创建Person类,没有写继承关系,默认会继承Object类 打开Object这个类 找到HashCode这个方法.就这一行代码.甚至都没有方法体 ...

  7. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_01 File类_1_File类的概述

  8. 把数据库中的数据制作成Excel数据

    把数据库中的数据制作成Excel数据 如果我们在使用Excel的时候,需要把数据库中的数据制作成Excel数据透视表,我们该怎么操作呢?如果数据在数据库中,我们不用把数据导入到工作表中,我们可以直接以 ...

  9. HAWQ技术总结

    HAWQ技术总结: 1. 官网: http://hawq.incubator.apache.org/ 2. 特性 2.1 sql支持完善 ANSI SQL标准,OLAP扩展,标准JDBC/ODBC支持 ...

  10. 快速排序 && 寻找第K大(小)的数

    参考:https://minenet.me/2016/08/24/quickSort.html 快速排序 利用分治法可将快速排序的分为三步: 在数据集之中,选择一个元素作为"基准" ...