root密码忘记了怎么办?(centos7)

因为自己要记的密码过多,有时候会突然想不起或者忘记密码,比如你重要的Linux密码,别担心,这就教你如何用紧急救援模式重设root密码

开启此虚拟机,进入centos7系统,稍等片刻进入下图页面

 默认选中得是第一个选项(如果不是可以用方向键选择),按“e”键键入编辑模式如下图

 

 在行尾输入rd.break如下图,进入编辑模式会看到这些信息,默认情况都是以ro自读方式引导系统进入

 添加完之后,按住ctrl+x进入紧急救援模式

原理就是打断了系统的正常启动,进入了bash环境

查看根下的挂载情况 (发现是ro只读的,需要以rw方式重新挂载/sysroot)                                                                                                                         

 mount -o remount,rw /sysroot  # 重新挂载使其拥有读写权限                                                           

换根,修改密码

chroot 命令用来在指定的根目录下运行指令
chroot,即 change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录结构
都是以/,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为/位置
在经过 chroot 命令之后,系统读取到的目录和文件将不在是旧系统根下的而是新根下(即被指定的 新的位置)的目录结构和文件。

 

回车后输入 LANG=en  # 将语言改为英文,不然可能会显示乱码

passwd  # 重新设置密码

如下图所示

 注:如果系统的 selinux 开启着,则需要执行命令: touch /.autorelabel 以更新系统信息,否则

重启之后密码修改不会生效
扩展:创建此文件:开启 selinux 的情况下需要创建此文件,因为在 rd.break 环境下 SELinux 是不 生效的。在不生效的情况下我们修改了用户的密码,也就是修改了/etc/shadow 文件,所以密码文件的安 全上下文的特性会被取消。如果没有让系统在启动时自动恢复 SELinux 的安全上下文,系统会报错“无法 登录”,所以 SELinux 在 Enforcing 模式下的时候(如在 disabled 模式下则不用),在根目录下 touch 隐藏文件 autorelabel 会让系统在重启时以 SELinux 默认类型重新写入 SELinux 安全上下文。
设置完后退出当前根目录,reboot重启系统

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值