今天工作中一位粗心的同事忘记了自己设置的CentOS7服务器root密码,本人找了几个百度经验,最终通过该网址--原文网址 成功解决问题,帮助同事重新设置密码,同时将原文进行补充,以学习的方式分享。

    1.启动系统,在GRUB2引导画面,按E键,编辑引导项。GNU Grub2 是一个具有众多选项灵活的启动shell,

    CentOS 7 找回root密码


    2.删除linux16这一行最后的 rhgb和 quiet参数(在UEFI系统中是linuxefi),删除rhgb和quiet这两个参数是为了显示系统信息。rhgb表示redhat graphics boot,就是会看到图片来代替启动过程中显示的文本信息,这些信息在启动后用dmesg也可以看到。quiet表示在启动过程中只有重要信息显示,类似硬件自检的消息不回显示 

    CentOS 7 找回root密码

    3.添加以下参数:rd.break enforcing=0 ,在64位IBM Power Series是linux这一行尾;在x86-64 BIOS引导的系统中是linux16这一行尾(CentOS 7);在UEFI引导的系统中是linuxefi这一行尾。enforcing代表的英语意思是强制执行。

    CentOS 7 找回root密码

    4.按CTRL+X用改变的参数引导系统

    CentOS 7 找回root密码

    5.在/sysroot/文件系统被挂载为只读时,你不能改变密码,因为文件系统为不可写入。重新挂载文件系统为可写入。 [mount -o remount,rw /sysroot]    挂接命令(mount) 我们的Linux系统在无法启动时候,通常需要进入单用户模式下进行修改一些配置文件,或调整一些参数方可。但是在进入单用户模式后,我们的/文件系统是只读模式,无法进行修改,那么这个时候我们就需要用到一条命令:mount –o remount,rw / 这个命令来让我们的/路径文件系统为可读模式,这样就可以实现自由修改了。sysroot代表系统的根目录。

    CentOS 7 找回root密码  

    6.文件系统被重新挂载为可写,像下面这样改变文件系统的root [chroot /sysroot]。CHROOT就是Change Root,也就是改变程序执行时所参考的根目录位置。

    CentOS 7 找回root密码

    7.输入password命令,接下来命令行提示改变root密码。注意:如果系统不能写入,passwd提示下面的错误信息:Authentication token manipulation error
    #如果输入密码太短会提示信息:The password is shorter than 8 characters
    #如果两次输入密码不匹配会提示信息:Sorry,passwords do not match
    #如果是中文环境这两条提示信息会是乱码

    成功会出现结果:all authentication token update succefully

    CentOS 7 找回root密码


    CentOS 7 找回root密码


    CentOS 7 找回root密码

    8.更新password文件会导致SELinux安全上下文文件错误。键入以下命令在下次系统引导前重新标记所有文件,即系统重启后更新label:[touch /.autorelabel]

    CentOS 7 找回root密码

    9.重新挂载系统为只读: mount -o remount,ro /

    CentOS 7 找回root密码

    10.键入exit命令退出chroot环境:[exit]

    CentOS 7 找回root密码

    11.再次键入exit命令完成初始化,完成系统引导。[exit]

    CentOS 7 找回root密码


    重新启动系统后,是你新设置的密码。原文链接:CentOS 找回密码

相关文章: