linux centos 忘记root密码拯救

在CentOS 7中,如果忘记root密码,可以通过修改系统启动参数进入单用户模式或紧急模式进行重置。以下是两种常用方法,适用于物理机或虚拟机环境:

方法一:通过rd.break参数重置密码

步骤

  1. 重启系统并进入GRUB菜单 在开机界面出现时,按任意键停止自动启动,按方向键选择默认启动项(通常为第一行),按 e 进入编辑模式

  2. 修改启动参数 找到以 linux16linux 开头的行,在行末添加 rd.break(注意与前后参数用空格隔开),按 Ctrl+X 启动系统

  3. 挂载文件系统并切换环境

    复制代码
    mount -o remount,rw /sysroot # 挂载根目录为可读写
    chroot /sysroot # 切换到系统根目录环境
  4. 重置密码

    passwd root # 输入两次新密码
    touch /.autorelabel # 若系统启用SELinux需执行此命令
    exit # 退出chroot环境
    reboot # 重启系统

方法二:通过init=/bin/sh参数重置密码

步骤

  1. 进入GRUB编辑模式 同样在开机界面按 e 键编辑启动项,找到 linux16 行,将 ro 改为 rw init=/bin/sh(或直接在行末追加 init=/bin/sh),按 Ctrl+X 启动

  2. 挂载根目录并重置密码

    复制代码
    mount -o remount,rw / # 确保根目录可写
    passwd root # 输入新密码
    touch /.autorelabel # 处理SELinux标签
    exec /sbin/init # 或直接输入reboot 重启

注意事项

  1. SELinux处理 若系统启用了SELinux,必须执行 touch /.autorelabel 以更新安全上下文,否则可能导致无法登录
相关推荐
绝不偷吃1 小时前
ELK日志分析系统
运维·elk·jenkins
朱包林2 小时前
day45-nginx复杂跳转与https
linux·运维·服务器·网络·云计算
孙克旭_2 小时前
day045-nginx跳转功能补充与https
linux·运维·nginx·https
孞㐑¥3 小时前
Linux之Socket 编程 UDP
linux·服务器·c++·经验分享·笔记·网络协议·udp
Hacker_Oldv4 小时前
软件测试(功能、工具、接口、性能、自动化、测开)详解
运维·自动化
Java樱木4 小时前
使用字节Trae + MCP,UI 到网页自动化。
运维·自动化
无敌暴龙兽z7 小时前
离线环境安装elk及设置密码认证
运维·elk
M4K07 小时前
Linux百度网盘优化三板斧
linux
好奇的菜鸟7 小时前
如何在 Ubuntu 24.04 (Noble) 上使用阿里源
linux·运维·ubuntu
bcbobo21cn7 小时前
初步了解Linux etc/profile文件
linux·运维·服务器·shell·profile