Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)

个人简介:大家好,我是 金鱼哥,CSDN运维领域新星创作者,华为云·云享专家,阿里云社区·专家博主
个人资质:CCNA、HCNP、CSNA(网络分析师),软考初级、中级网络工程师、RHCSA、RHCE、RHCA、RHCI、ITIL
格言:努力不一定成功,但要想成功就必须努力

支持我:可点赞、可收藏⭐️、可留言


救援模式是需要学习的一个重点地方。为啥?因为如果连重置密码都不会操作,那就准备好包袱,寻求好下一家公司安顿自己吧‍♂️。在7与8的系统中,重置密码的大体操作都一样。本文2种方法都会包含。


文章目录

      • 21.1 重置root密码
        • CentOS 7的处理方法
          • 1.重启主机或者启动系统
          • 2.合适位置输入`rd.break`
          • 3.`ctrl+x`进入紧急模式
          • 4.重新挂载根
          • 5.切换根
          • 6.修改密码
          • 7.重打标签并退出重启
        • CentOS 8的处理方法
          • 1.重启主机或者启动系统
          • 2.合适位置输入`rd.break`
          • 3.`ctrl+x`进入紧急模式
          • 4.重新挂载根
          • 5.切换根
          • 6.修改密码
          • 7.重打标签并退出重启
      • 21.2 选择错误启动目标导致系统无法正常运行
        • 处理方法
      • 21.3 文件系统问题
    • 总结

首先,介绍一下如何重置密码,必须掌握的技能,这还是 RHCSA认证必考内容。

21.1 重置root密码

CentOS 7的处理方法

1.重启主机或者启动系统

重启主机,进入内核选择界面的时候,按任意键停止倒数(除ENTER,我一般习惯按上下按键),之后按e
Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)_第1张图片


2.合适位置输入rd.break

在linux16开头的行的结尾输入rd.break
Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)_第2张图片


3.ctrl+x进入紧急模式

修改完后按ctrl+x进入紧急模式:
Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)_第3张图片


4.重新挂载根

现在的根为只读状态,需要挂载为读写状态以便进行修改

mount -o remount,rw /sysroot

Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)_第4张图片


5.切换根

使用chroot命令用来将指定的路径换为根目录进入到sh-4.2,即为你真正的系统

# chroot命令用来将指定的路径换为根目录
chroot /sysroot
# 如果你装了中文系统,建议输入以下命令切换为英文语言环境
LANG=en_US.UTF-8

Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)_第5张图片


6.修改密码

需要输入两次密码进行确认

结尾看到successfully即为修改成功

# 修改密码
passwd root
# 也可以用明文的形式进行修改
echo "password" | passwd --stdin root

Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)_第6张图片


7.重打标签并退出重启

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

否则重启之后密码修改不会生效, 先退出当前根, reboot 重启系统

touch /.autorelabel
Ctrl+d/exit
Ctrl+d/exit

在这里插入图片描述

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

在8的系统一样的机制,因此,在不明确的情况,都执行一下touch /.autorelabel最为稳妥。


CentOS 8的处理方法

1.重启主机或者启动系统

重启主机,进入内核选择界面的时候,按任意键停止倒数(除ENTER,我一般习惯按上下按键),之后按e
Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)_第7张图片


2.合适位置输入rd.break

找到linux那行从末尾一直删除到ro (也可不删除)

ro 改成 rw 再输入 rd.break

下图示例是在linux开头的那一行结尾加上rd. break,并修改读写模式引导系统(默认是ro只读)来玩。
Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)_第8张图片


3.ctrl+x进入紧急模式

修改完后按ctrl+x进入紧急模式:
Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)_第9张图片


4.重新挂载根

首先,可以mount查看系统根挂载情况:
Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)_第10张图片

如果是只读,则需要重新挂载(所以第2步修改rw就是为此而准备的)

mount -o remount,rw /sysroot

Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)_第11张图片


5.切换根

使用chroot命令用来将指定的路径换为根目录进入到sh-4.2,即为你真正的系统

# chroot命令用来将指定的路径换为根目录
chroot /sysroot
# 如果你装了中文系统,建议输入以下命令切换为英文语言环境
LANG=en_US.UTF-8

Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)_第12张图片


6.修改密码

从这里开始,操作和 7 的系统一样了。

需要输入两次密码进行确认,结尾看到successfully即为修改成功

# 修改密码
passwd root
# 也可以用明文的形式进行修改
echo "password" | passwd --stdin root

Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)_第13张图片


7.重打标签并退出重启

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

否则重启之后密码修改不会生效, 先退出当前根, reboot 重启系统

touch /.autorelabel
Ctrl+d/exit
Ctrl+d/exit

在这里插入图片描述
打标签注意说明和 7 一致。可参考 7 的说明。


21.2 选择错误启动目标导致系统无法正常运行

# 有小伙伴手多设置了如下配置,那当你的机器一旦重启,就会发现进不到系统,一直循环重启。
systemctl set-default reboot.target

处理方法

重复上述操作到 chroot /sysroot的步骤:
Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)_第14张图片

将启动模式改回来,就OK了。执行如下操作:

systemctl set-default mulit-user.target
Ctrl+d
Ctrl+d
#恢复成默认命令行启动

21.3 文件系统问题

/etc/fstab 中的错误和损坏的文件系统可能会阻止系统启动。在大多情况下,systemd会降低至需要提供root密码的紧急修复shell

Linux救援模式应该这样玩(包含重置CentOS 7和8的密码)_第15张图片

往往很多初学的同学编写了不符合规定的条目,导致不能自动挂载而不能进入系统。

因此编写的时候一定十分注意,尤其在生产环境的系统下。


总结

重置密码是学习linux系统必须掌握的技能,无论怎样,都必须好好去掌握,按着本教程,一定能学会的。

RHCSA认证作为基础认证,涉及的基础内容需要大家好好进行学习并巩固。有良好的基础才能更上一层楼。
好好加油,可以噶。

以上就是【金鱼哥】对 第二十一章 救援模式 的简述和讲解。希望能对看到此文章的小伙伴有所帮助。

红帽认证专栏系列:
RHCSA专栏:戏说 RHCSA 认证
RHCE专栏:戏说 RHCE 认证
此文章收录在RHCA专栏:RHCA 回忆录

如果这篇【文章】有帮助到你,希望可以给【金鱼哥】点个赞,创作不易,相比官方的陈述,我更喜欢用【通俗易懂】的文笔去讲解每一个知识点。

如果有对【运维技术】感兴趣,也欢迎关注❤️❤️❤️ 【金鱼哥】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】!

你可能感兴趣的:(戏说,RHCSA,认证,运维基本功,运维,linux,服务器,重置密码)