linux学习笔记(28)linux忘记root密码,linux破解密码,linux重置密码

【1】忘记Linux服务器密码怎么办?

(1.1)开机界面,按 e 进行编辑

当我们忘记一台服务器密码时,重启后,如下图,按 e 进入编辑选项

 

进入之后修改如下:linux开始的行,ro改成rw,并且改行末尾改成 rd.break。操作完后按 ctrl+x

  

 

(1.2)保存重启后 chroot /sysroot 切换成 root角色

如下图,我们一开始无法输入修改密码命令,chroot /sysroot 后切换成 root 角色后就可以改密码了。

同时,要注意加 在根目录加  /.autorelabel

  

   

上述的流程你应该没啥大问题才对~比较不懂的,应该是 (1)chroot 是啥? (2)为何需要 /.autorelabel 这个文件?

  • chroot 目录:代表将你的根目录“暂时”切换到 chroot 之后所接的目录。因此,以上表为例,那个 /sysroot 将会被暂时作为根目录, 而我们知道那个目录其实就是最原先的系统根目录,所以你当然就能够用来处理你的文件系统与相关的帐号管理啰!
  • 为何需要 /.autorelabel:在 rd.break 的 RAM Disk 环境下,系统是没有 SELinux 的,而你刚刚更改了 /etc/shadow (因为改密码啊!), 所以“这个文件的 SELinux 安全本文的特性将会被取消”喔!如果你没有让系统于开机时自动的回复 SELinux 的安全本文, 你的系统将产生“无法登陆”的问题 (在 SELinux 为 Enforcing 的模式下!)加上 /.autorelabel 就是要让系统在开机的时候自动的使用默认的 SELinux type 重新写入 SELinux 安全本文到每个文件去!。

不过加上 /.autorelabel 之后,系统在开机就会重新写入 SELinux 的 type 到每个文件,因此会花不少的时间喔!如果你不想要花太多时间, 还有个方法可以处理:

  • 在 rd.break 模式下,修改完 root 密码后,将 /etc/selinux/config 内的 SELinux 类型改为 permissive
  • 重新开机后,使用 root 的身份下达“ restorecon -Rv /etc ”仅修改 /etc 下面的文件;
  • 重新修改 /etc/selinux/config 改回 enforcing ,然后“ setenforce 1 ”即可!

 然后 exit    => reboot 即可

 

posted @ 2023-04-24 21:27  郭大侠1  阅读(240)  评论(0编辑  收藏  举报