CentOS 7 root 密码忘记了怎么修改恢复

前言

本文主要是演示如何破解CentOS 7的密码。如果你因种种原因而没有获取系统原来的管理密码时,可以使用此方法。注意的是,破解必须是通过本地显示器或者服务器远程管理卡界面进行,也就是说,你能获取到机房物理服务器的管理权限。否则,不能对root用户进行密码重置。

Step1: 开机选择内核

开机,快速的按上下键,选择第一个

Step2: 进入grub编辑模式

按下字母e进入grub编辑模式

Step3: 修改grub启动的参数

找到linux16开头的行

到该行的最后,向前删除字符到ro

把ro改成rw rd.break

修改好后按ctrl+x,即表示临时使用刚刚修改的grub参数启动系统

Step4: 切换到伪根目录

chroot /sysroot/

chroot,即 change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录结构都是以 /,即以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为 / 位置。

为什么要使用 chroot 命令
增加了系统的安全性,限制了用户的权力:
在经过 chroot 之后,在新根下将访问不到旧系统的根目录结构和文件,这样就增强了系统的安全性。一般会在用户登录前应用 chroot,把用户的访问能力控制在一定的范围之内。

建立一个与原系统隔离的系统目录结构,方便用户的开发:
使用 chroot 后,系统读取的是新根下的目录和文件,这是一个与原系统根下文件不相关的目录结构。在这个新的环境中,可以用来测试软件的静态编译以及一些与系统不相关的独立开发。

切换系统的根目录位置,引导 Linux 系统启动以及急救系统等:
chroot 的作用就是切换系统的根位置,而这个作用最为明显的是在系统初始引导磁盘的处理过程中使用,从初始 RAM 磁盘 (initrd) 切换系统的根位置并执行真正的 init,本文的最后一个 demo 会详细的介绍这种用法。

Step5: 修改root密码

使用passwd命令修改root密码

passwd root

方块的地方应该是显示中文的,但默认情况下,grub并没有使用utf-8字符编码。
不用理会这个,连续两次输入一样的密码即表示设置成功。但要注意的是,密码要使用大写字母、小写字母、特殊符号组合,不然系统可能因安全策略设置拒绝新密码,但你又看不懂提示的情况。

Step6: 重打系统文件的selinux标签

SElinux开启时必须需要创建,重打selinux标签,如果没这步,系统起不来的。

重打selinux标签,然后退出伪根目录

touch /.autorelabel
exit

Step7:然后重启系统

reboot

Step8: 验证新密码是否生效

输入刚刚设置的新密码验证,如果失败,请返回Step5重来一次。

总结

CentOS 7重置密码和CentOS 6不一样,但原理基本相同,而且重置密码的操作不能通过远程进行,只能在本地显示器上或者服务器的远程管理卡界面上进行,这是一种安全策略。

标签:Centos 发布于:2019-10-17 01:47:30