忘记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. wnmp部署

    原文地址:   https://www.cnblogs.com/chaooo/p/5462781.html Before:提前规划好的目录结构 1.安装Nginx 到Nginx官网下载最新稳定版 ht ...

  2. Android流媒体开发之路三:基于NDK开发Android平台RTSP播放器

    基于NDK开发Android平台RTSP播放器 最近做了不少android端的开发,有推流.播放.直播.对讲等各种应用,做了RTMP.RTSP.HTTP-FLV.自定义等各种协议,还是有不少收获和心得 ...

  3. mysql依据某一张表的字段,查询出对应的表所在的数据库

    表太多,只记得这个表有一个mygame的字段,但是并不知道这张表在那个数据库下,只能根据这个字段查找对应的表和所在数据库 select table_schema,table_name from inf ...

  4. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_06 Properties集合_3_Properties集合中的方法load

    键值对文件,读取到集合中来使用 分隔符也可以用空格 读出来乱码

  5. vue组件生命周期

    分为4个阶段:create/mount/update/destroy 每一个阶段都对应着有自己的处理函数 create: beforeCreate created 初始化 mount: beforeM ...

  6. Mac基本配置

    相关操作 配置文件 java 下载jdk-12.0.1_osx-x64_bin.dmg 配置环境变量 #配置java JAVA_HOME=/Library/Java/JavaVirtualMachin ...

  7. 深度探索区块链/基于Gossip的P2P数据分发(4)

    一.概述 背书节点模拟执行签名的结果会经过排序服务(Ording service)广播给所有的节点. 它提供的是一种原子广播服务(Atomic Broadcast),即在逻辑上所有节点接收到的消息顺序 ...

  8. xmake新增智能代码扫描编译模式

    最近给xmake增加了一个新特性,对于一份工程源码,可以不用编写makefile,也不用编写各种make相关的工程描述文件(例如:xmake.lua,makefile.am, cmakelist.tx ...

  9. Hibernate的批量抓取

    批量抓取理解:如果我们需要查找到客户的所有联系人的话,按照正常的思路,一般是首先查询所有的客户,得到返回的客户的List集合.然后遍历List集合,得到集合中的每一个客户,在取出客户中的联系人(客户表 ...

  10. Java中的常用类:包装类、String、StringBuffer、StringBuilder、Math、System、Arrays、BigInteger、BigDecimal、Data、Calendar

    一.包装类 √ 二.String类 ★ 三.StringBuffer和StringBuilder类 ★ 四.Math类 五.System类 六.Arrays类 七.BigInteger类和BigDec ...