RHCSA板块
欢迎来到我的博客,这里是RHCSA板块,以下内容均无水印,允许转载哦(转载我的博客,属于是瞧得上哥们的技术哈~( ̄▽ ̄~)~)
1. Linux详细安装及初始
2. Linux忘记密码解决方案
3. Linux软件包获取
4. Linux网络及进程管理
5. Linux文件及用户管理
6. Linux磁盘及LVM管理
7. Linux常用工具合集
前言
为解决LINUX-REDHAT系统下,root忘记密码解决方案
第一种
操作流程
1.重启客户机
定位终端,输入reboot,按回车键
2.按e键,将ro改为rw,并在行末添加init=/bin/sh
修改前:
修改后:
3.按ctrl+x启动到shell
4.重置密码(改为123)
echo '123' | passwd --stdin root
5.如果之前系统启用了selinux,必须允许以下命令,否则将无法正常启动系统
touch /.autorelabel
6.运行命令exec /sbin/init来正常启动(或者用命令exec /sbin/reboot)
exec /sbin/init(或exec /sbin/reboot)
7.在该页面等待几分钟
测试
点击‘未列出’
输入‘root’
输入之前修改的密码
成功登录!
第二种
操作流程
1.重启客户机
定位终端,输入reboot
,按回车键
2.按下e键,进入编辑模式,在LINUX行末,添加空格,输入rd.break
修改前:
修改后:
3.按ctrl + x继续启动
4.查看sysroot挂载信息
mount | grep sysroot
5.重启以读写方式挂载/sysroot
mount -o remount,rw /sysroot
6.切换至真正操作系统的根/sysroot
7.重置密码(改为redhat)
8.强制重置文件系统的上下文
touch /.autorelabel
9.输入两次exit,然后在该页面等待几分钟
测试
点击‘未列出’
输入‘root’
输入之前修改的密码
成功登录!
附录
二者区别
区别 | 方法一 | 方法二 |
---|---|---|
编辑参数 | 定位Linux开头的行,将ro 改为rw ,并添加init=/bin/sh ,直接进入shell | 定位Linux开头的行,在末尾添加rd.break 或者rd.break console=tty0 ,进入更低级的救援模式 |
恢复过程 | 进入shell后,使用passwd root 命令重置密码 | 需执行mount -o remount,rw /sysroot 来重新挂载/syroot为可写,然后使用chroot /sysroot切换到跟文件系统 |
指令理解
touch /.autorelabel
含义:该命令是在LINUX系统中,特别是在启用SELinux(安全增强型Linux)的环境下使用的一条命令。它的作用是创建一个特定的文件,该文件会在下次系统启动时出发SELinux进行重新标记(relabel)文件系统中的所有文件和目录
用途:在使用紧急模式或恢复模式修改系统设置(比如重置密码)之后,运行touch /.autorelabel
是一个最佳实践,一确保系统在下次启动时能够以安全的状态运行
注意事项:执行该命令后,下一次启动可能会花费更多时间,因为系统需要遍历文件系统并重新标记所有文件
GRUB编辑模式
含义:一个让用户在计算机启动时对操作系统的引导过程进行修改的界面,可以让用户灵活地控制计算机的启动过程,方便进行故障排查或系统维护
用途
- 临时修改
所有更改仅在当前启动是有效,重新启动后将恢复默认设置 - 添加参数
用户可以添加或启动参数,比如以特定模式启动系统(如安全模式) - 直观界面
进入编辑模式后,用户会看到一份可读的启动命令列表,可以直接进行编辑 - 故障排查
常由于解决启动问题或重置忘记的密码,通过特定的命令让系统以特殊方式启动