实战:进入 CentOS7 紧急模式重置root 密码(忘记密码重置root密码)
实战场景:公司一台 CentOS7 系统,忘记 root 密码了,需要你快速把 root 密码修改为 xuegod,找回 root 身份。
(1) 首先重启,在出现内核选择启动时(在此界面中,如果不按 ↑ ↓
键,则在默认时间过去后,自动选择光标所选的内核,并启动,在默认时间内按 ↑ ↓
键,则停留在内核选择界面,回车即可选择),按 ↑ ↓
键,进入如下界面,选择第一项,按下 e 键进行编辑,如图 6-7 所示。
图 6-7 选择内核
(2) 在此界面找到 ro 这一项,改为 rw init=/sysroot/bin/sh,如图 6-8 所示。
图 6-8 编辑内核
(3) 改完之后,按下 Ctrl+X 进入紧急模式,如图 6-9 所示。
原理:启动一个 Shell 环境,系统并没有真正的启动。
图 6-9 进入紧急模式
(4) 换根,修改密码。
chroot 命令用来在指定的根目录下运行指令。
chroot,即 change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录结构都是以/,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为/位置。
在经过 chroot 命令之后,系统读取到的目录和文件将不在是旧系统根下的而是新根下(即被指定的新的位置)的目录结构和文件。
:/# chroot /sysroot
:/# passwd
具体操作如图 6-10 所示。
图 6-10 修改密码
注:如果系统的 selinux 开启着,则需要执行命令: touch /.autorelabel 以更新系统信息,否则重启之后密码修改不会生效。
先退出当前根,reboot 重启系统,如图 6-11 所示。
图 6-11 退出根、重启系统