运维之路—linux忘记密码修改(rd.breake 方式)

RedHat 7 rd.break方式破解root密码

1.开机进入grub界面, 开机按两次e键

2.找到linux16这一行,如果是物理机,添加:rd.break,如果是虚拟机,添加:rd.break console=tty0,这里末尾添加 rd.break console=tty0

3.ctrl + x 进入switch_root

4.输入命令mount,发现根为/sysroot/,并且不能写,只有ro=readonly权限

5. 重新挂载已经挂载了的根文件系统(以读写权限挂载 )

执行命令:mount -o remount,rw /sysroot

-o <选项> 指定挂载文件系统时的选项

   defaults 使用所有选项的默认值(auto、nouser、rw、suid)

   auto/noauto 允许/不允许以 –a选项进行安装

   dev/nodev 对/不对文件系统上的特殊设备进行解释

   exec/noexec 允许/不允许执行二进制代码

   suid/nosuid 确认/不确认suid和sgid位

   user/nouser 允许/不允许一般用户挂载

   codepage=XXX 代码页

   iocharset=XXX 字符集

   ro 以只读方式挂载

   rw 以读写方式挂载

   remount 重新安装已经安装了的文件系统

   loop 挂载“回旋设备”以及“ISO镜像文件

6.挂载好后将根改成sysroot。(执行命令:chroot  /sysroot)并在根下创建.autorelabel文件(selinux标签验证,即允许你修改密码),再给root设置新密码。

7.exit退出,reboot重启后新密码登录

方法二

如果不知道旧密码,则需要重启系统,通过如下方式修改

重启系统,在开机过程中,快速按下键盘上的方向键和。目的是告知引导程序,我们需要在引导页面选择不同的操作,以便让引导程序暂停。

按键盘 e 键,进入编辑模式,找到 linux16 的那一行。将光标一直移动到 LANG=en_US.UTF-8 后面,空格,再追加 init=/bin/sh。这里特别注意,需要写在UTF-8后,保持再同一行,并注意空格。由于屏幕太小,会自动添加换行,这个是正常的。

二 按下Ctrl+X 进行引导启动(单用户模式启动),成功后进入该界面。然后输入以下命令

1 挂载根目录

mount -o remount, rw /
2 选择要修改密码的用户名,这里选择root用户进行修改,可以更换为你要修改的用户

passwd root
3 输入2次一样的新密码,注意输入密码的时候屏幕上不会有字符出现。

如果输入的密码太简单,会提示警告BAD PASSWORD:The password fails the dictionary check - it is too simplistic/systematic),可以无视它,继续输入密码,不过建议还是设置比较复杂一些的密码,以保证安全性

4 更新系统信息 touch /.authorelabel

touch /.authorelabel
5 最后输入以下命令重启系统即可

exec /sbin/init 或exec /sbin/reboot

更多修改密码方式: 转载自 https://www.cnblogs.com/volac/p/9810552.html

原文地址:https://www.cnblogs.com/leo001/p/10317789.html