重置root密码

目标

  在root密码丢失的情况下登陆系统并更改root密码。

名词解释

  • 从启动加载器重置root密码

  每个系统管理员都应该完成的一项任务是重置丢失的root密码。如果管理员仍处于登陆状态,不管是作为拥有完全sudo访问权限的非特权用户,还是作为root用户,这个任务都很简单。如果管理员未登陆,则这个任务变得略微复杂。

  有几种方法可用于设置新的root密码。例如:系统管理员可以使用live cd启动系统,从此处挂载根文件系统,然后编辑/etc/shadow。

注意
  在红帽linux6及更早版本中,管理员可以将系统启动到runlevel 1以获得root提示符。在红帽企业版linux8计算机上与runlevel 1 最接近的模拟是紧急情况和救援目标,这两个模式都需要root密码才能登录。

  在红帽企业linux8中,可以使从initramfs运行的脚本在某些点暂停,提供root shell,然后再该shell存在的情况下继续。这主要是为了进行调试,但也可以使用该方式来重置丢失的root密码。

  • 访问rootshell步骤
  1. 重新启动该系统。
  2. 按住任意键中断启动加载器倒计时。
  3. 将光标移至要启动的内核条目。
  4. 按e编辑选定条目。
  5. 将光标移到内核命令行。
  6. 附加rd.break。利用该选项,就在系统从initramfs向实际系统一脚控制权前,系统将会中断。
  7. 按ctrl + x 使用这些更改进行启动。

  此时,系统会显示root shell,扫磁盘上的实际根文件系统会在/sysroot中以只读方式挂载。由于进行故障排除经常要求修改根文件系统,因此您需要将根文件系统跟改为读写。

按照以上步骤进入到启动加载器,编辑grub文件加入断点指令


添加中断系统指令

 

进入到内核操作系统中


内核操作系统

 

  • 进入到内核操作系统中后,查看原系统根目录路径,进行重新挂载读写权限。
  • 使用chroot命令进行切换根目录,使用passwd命令修改root用户密码。

切换根目录进行修改密码

 

创建selinux自动标签文件,避免因为passwd命令执行创建的新shdaw文件标签问题导致无法通过selinux验证。


创建selinux自动标签文件

 

文档更新时间: 2022-11-17 17:07   作者:xiubao yan