CentOS7.9

CentOS7系统root密码丢失找回方法(史上最好)

1. 重新启动或开启CentOS7系统,在选择进入系统Grub菜单界面如下图1-1,根据提示按“e”小写字母进入编辑界面,如下图1-2所示:

图1-1 CentOS7系统Grub菜单界面

2. 然后,要按方向键向下键(否则可能看不到想要找的行),找到以字符串“Linux16”开头的行,将光标移动到该行的结尾,然后输入“init=/bin/bash”,如下图1-2所示:

图1-2 CentOS7.6系统Grub菜单进入编辑界面配置图

特别说明:如果不确定系统是否开启了Selinux或者刚装完没有修改过的系统,则最好用下面的方法解决:既在以字符串“Linux16”开头的行,将光标移动到该行的结尾,然后输入“init=/bin/bash enforcing=0”(前者作用让系统登录后加载bash解释器,后者是且关闭Selinux),如下图1-3所示:

图1-3 CentOS7.6系统Grub菜单编辑界面增加关闭Selinux配置图

3. 配置完成后,根据界面下面的英文提示按“Ctrl-x”组合键以单用户模式启动Linux如下图1-4所示:

图1-4单用户模式界面重新挂载修改密码图界面

特殊说明:

1)图中的“mount -o rw,remount /”命令是重新挂载根目录为可写状态(rw表示可写,remount是重新挂载),在单用户模式下默认根文件系统是处于只读状态。

2)也可以在增加内核参数时,把以字符串“Linux16”开头的行中间部分的ro参数改为rw,则可以替代繁琐的“mount -o rw,remount /”命令,修改方法如下图1-5:所示:

图1-5 修改内核参数ro为rw配置图

4. 配置完后,执行exec /sbin/init命令重启系统,注意,此时,无法使用其它重启命令。特殊强调:如果是系统

的SELinux处于开启状态,并且前文修改内核选项时,没有增加“enforcing=0”,则此处需要多执行一条“touch /.autorelabel”命令以便在下次系统引导前重新标记系统中的所有相关文件,因为在SELinux开启时,修改root密码时修改password文件会导致SELinux安全上下文报错,如果前文修改内核选项时,已增加“enforcing=0”,那么在修改密码文件时,Selinux是关闭状态,因此,这里就不需要执行“touch /.autorelabel”命令了。

图1-6 处理SELinux以及重启系统界面

5. 重启系统后验证修改后的密码是否能登录,出现如下图1-5 所示,表示密码修改并登录成功。

图1-7 登录界面图

Rocky8.6

Linux运维过程中难免遇到忘记root超级管理员密码的问题,忘记root密码如何重置呢?
前提:能够修改Linux系统启动kernel参数

CentOS 8/Rocky8.6重置root密码

1)启动系统,选择kernel 启动菜单



2)选中第一行,按 e 字母键进入 编辑菜单



3)定位到 linux($root)行,在行尾追加内核参数:rd.break


4)按下ctrl+x启动系统,进入switch_root模式



5)switch_root模式:将原有系统的 / 根目录以只读模式挂载在/sysroot/目录下,修改root密码必须将原有系统的 / 根目录挂载为可读写模式

# mount -l |grep /sysroot
 



6)重挂/sysroot目录为可读写模式

#mount -o remount,rw /sysroot
 



7)将当前系统的 / 根目录切换到/sysroot

#chroot /sysroot
 



8)修改root密码,无需输入原root密码,直接修改掉。

passwd root 
 

9)自动重置/etc/passwd SELinux文件上下文

touch /.autorclabcl
 



10)exit退出shell



11)再一次exit退出 switch_root模式,等待系统重启完成

总结

重置root密码需要访问到kernel启动菜单,远程重置root密码需要远程控制卡访问物理Console,最后一定要等待系统自动重启完成,此过程要耐心点。一定要让系统自动重启完成,千万不要关闭系统或者硬重启。

 

最新文章

  1. 解决eclipse中svn插件总是提示输入密码的问题
  2. 浅显易懂的理解JavaScript中的this关键字
  3. linux pam 控制模式
  4. spring事务源码研读1
  5. 让UNION与ORDER BY并存于SQL语句当中
  6. [转]jQuery: how to get which button was clicked upon form submission?
  7. MySQL中如何插入反斜杠,反斜杠被吃掉,反斜杠转义
  8. window对象;document对象;
  9. C++头文件为什么要加#ifndef #define #endif
  10. 【转】loading 三种实现方式
  11. MySQL的高级查询
  12. Functions类,一个Javascript的函数加法类,将两个函数加起来,顺序执行
  13. 解决spawn-fcgi child exited with: 1
  14. Java Base64 加密解密
  15. [ACM] hdu 1181 变形课
  16. C++中str1::function和bind
  17. How to new a screen in linux
  18. 张冬:OpenPOWER CAPI为什么这么快?(二)
  19. 16进制的颜色怎么转换为我们iOS所用的RGB颜色
  20. repeater操作

热门文章

  1. MySQL线程池、连接池等概念
  2. 隐藏来源 禁用Referrer 的方法
  3. SAP 交货单抬头客制化界面以及字段
  4. PTA---求月天数
  5. CodeGym自学笔记03——变量、数据类型
  6. excel添加下拉列表
  7. kunkun
  8. Pytest 插件
  9. Web安全与渗透测试笔记
  10. [ZZH]第一篇博客