Linux 下忘记root密码怎么办

博主求职不顺,参加招聘会未找到合适岗位。回寝室后想玩Red Hat Linux,却忘记root密码。经网上搜索,找到通过Grub启动修改的方法解决问题,详细介绍了在Grub启动界面操作以单用户模式启动系统并修改root密码的步骤。

这几天找工作,没有找到,心里真郁闷,大学生找工作原来是如此的困难,以前没有意识到,今天我们学校招聘会,去看了一下,有一个公司符合自己的胃口,但是别人已经满员了,所以郁闷回寝室看我的microcomputer了。想起以前安装的red hat linux 了,就像拿它来玩玩,但是发现自己居然忘记了root的密码。在网上搜索了一番,终于解决了。

方法:(Grub启动修改)

  1. 启动到grub时,按e键;
  2. 进入新的选项中,选择到:kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/ 后,回车,在kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/ 后输入“空格single”,回车,确认修改;
  3. 注意还是选择到kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/  single(原先的kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/ ),按b键,以单用户模式启动系统;
  4. 当系统出现sh-2.05# 时,您就可以修改系统的根用户的密码了;
  5. 输入“bash# passwd root”,回车,你就可以修改root的密码了。



### Linux 下重置忘记Root 密码Linux 系统中,如果忘记了 `root` 用户的密码,可以通过以下两种常见方法之一进行重置。以下是基于 RHEL 9 的具体操作步骤: #### 方法一:通过 `rd.break` 此方法利用 GRUB 启动菜单中的内核参数调整功能来临时中断启动过程。 1. **重启系统** 在 GRUB 菜单加载时按下 `e` 键进入编辑模式。找到以 `linux` 开头的一行,在其末尾添加空格后输入 `rd.break` 参数[^1]。 2. **切换到可读写模式** 按下 `Ctrl + X` 或者 `F10` 继续引导至紧急修复模式。此时 `/sysroot` 文件系统将以只读形式挂载,因此需要重新挂载为可读写状态: ```bash mount -o remount,rw /sysroot/ ``` 3. **修改密码** 切换到 `/sysroot` 子系统并更新 `root` 用户的密码: ```bash chroot /sysroot/ passwd root ``` 遵循提示设置新的密码[^1]。 4. **强制刷新 SELinux 上下文** 如果系统启用了 SELinux,则需执行以下命令以确保文件系统的安全标签被正确重建: ```bash touch /.autorelabel exit exit ``` 5. **完成与验证** 系统将自动继续正常启动流程。完成后尝试使用新密码登录确认更改生效[^1]。 #### 方法二:通过 `init=/bin/sh` 另一种方式同样依赖于 GRUB 引导选项,但直接跳转至 Shell 提示符而非进入修复环境。 1. **编辑 GRUB 启动项** 类似第一步的操作,但在指定位置替换原有的只读标志 (`ro`) 为可写 (`rw`) 并追加 `init=/bin/sh` 参数[^2]。 2. **获取权限并重设密码** 使用下面指令实现根分区的完全控制权以及后续密码变更动作: ```bash mount -o remount,rw / passwd root ``` 3. **处理 SELinux 影响** 若存在 SELinux 控制机制,则额外创建 `.autorelabel` 文件标记下次开机前需自动化校验整个磁盘的安全属性配置情况: ```bash touch /.autorelabel ``` 4. **恢复正常服务流** 执行下列任一条语句让机器依据常规路径运作起来: ```bash exec /sbin/init # OR exec /sbin/reboot ``` 以上即完成了针对丢失管理员级访问凭证情形下的恢复手段介绍[^2]。 ```python # 示例 Python 脚本用于演示如何调用 subprocess 来模拟部分 shell 命令 (仅作教学用途) import subprocess def reset_root_password(): try: result = subprocess.run(['mount', '-o', 'remount,rw', '/'], check=True) print("Remounted filesystem as read-write.") new_password = input("Enter the new password for root: ") result = subprocess.run(['echo', f'{new_password}', '|', 'passwd', '--stdin', 'root'], shell=True, check=True) print("Root password has been successfully changed.") result = subprocess.run(['touch', '/.autorelabel'], check=True) print("Created .autorelabel file to relabel on next boot.") except Exception as e: print(f"An error occurred during process: {str(e)}") reset_root_password() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值