使用“init”和“rd.break”重置root密码有什么区别?

rza*_*eff 8 password root

我知道几种重置 root 用户密码的方法,但想知道哪种方法最好以及为什么。例如:

一个方法:

  1. 幼虫 > e
  2. init=/bin/sh(必要时删除rhgbquiet标记)> Ctrl+x
  3. /usr/sbin/load_policy -i
  4. mount -o remount,rw /
  5. passwd root 或者 passwd
  6. mount -o remount,ro /


乙法:

  1. 幼虫 > e
  2. rd.break> Ctrl+x
  3. mount -o remount,rw /sysroot/
  4. chroot /sysroot/
  5. passwd root 或者 passwd
  6. touch /.autorelabel

哪个最好?为什么是最好的?我正在准备 RHCSA(红帽认证系统管理员)考试。我需要知道每种方法的相对优点。其中之一更便携吗?更安全?有没有理由选择一个而不是另一个?

tal*_*zin 6

我认为最好的方法是如 Red Hat文档中所示。
这是你的第二种方法。对于 GRUB2/RHEL7 单一/紧急模式不应该工作,因为它将用于sulogin在显示命令提示符之前对您进行身份验证。

所以让我们标记不同的方法。

  1. 对于RHEL5,RHEL6,追加1sinit=/bin/bash以内核CMDLINE

  2. 对于 RHEL7、RHEL8、CentOS7、CentOS8,将rd.break或附加init=/bin/bash到内核​​ cmdline

似乎第二种方法在 RHEL5 和 RHEL6 上不可用。但是对于 RHEL7,我更喜欢第一个,因为当单模式受密码保护时,添加 init=/bin/bash 有点棘手,并且可能追加rd.break是一种标准化方法。