centos的root密码忘记或失效的解决办法

目录

  • 前言
  • [1 单机维护模式](#1 单机维护模式)
  • [2 利用具有管理员权限的用户切换到root用户](#2 利用具有管理员权限的用户切换到root用户)
  • [3 救援模式](#3 救援模式)

前言

在Linux系统中,root用户是最高权限的用户,可以执行任何命令和操作。但是,如果我们忘记了root用户的密码,或者需要修改root用户的密码,我们应该怎么办呢?本文将介绍通过进入centos7的单机维护模式,修改root密码的步骤,通过具有管理员权限的用户切换到root用户,以及通过救援模式找回或者重置root用户的密码。

1 单机维护模式

首先,我们需要重启系统,进入开机选单界面。在这里,我们可以看到系统的内核版本和启动参数等信息。我们需要按下e键,进入编辑模式,修改启动参数。

在编辑模式下,我们可以用方向键来移动光标,找到以Linux开头的那一行,这一行包含了系统的内核和启动参数。我们需要将这一行中的ro替换为rw init=/sysroot/bin/sh,这样就可以让系统以读写模式挂载根分区,并且执行/sysroot/bin/sh这个脚本。修改完毕后,按下Ctrl+x键,保存并退出编辑模式,系统会按照我们修改的参数来启动。

接下来,我们会进入单机维护模式,也就是一个简单的shell环境。在这里,我们需要运行chroot /sysroot/这个命令,将/sysroot目录作为根目录,切换回centos系统。然后,我们可以运行LANG=en这个命令,将语言设置为英文,方便输入密码。接着,我们可以运行passwd这个命令,修改root密码。在修改密码的过程中,我们需要输入两次新密码,并且注意密码的复杂度和长度。修改完密码后,我们需要运行touch /.autorelabel这个命令,在根目录下创建一个.autorelabel文件,这样可以让SELinux重新标记文件的安全属性,避免出现权限问题。

操作步骤如下

bash 复制代码
:/# chroot /sysroot/
:/# LANG=en
:/# passwd
:/# touch /.autorelabel

最后,我们可以运行reboot这个命令,重启系统。重启后,我们就可以用新设置的root密码来登录系统了。

以上就是通过进入centos7的单机维护模式,修改root密码的方法。这种方法比较简单和方便,不需要使用其他的工具或者介质。但是,在使用这种方法之前,我们需要确保系统没有加密或者锁定等保护措施,否则可能无法成功进入单机维护模式。另外,在修改密码之后,我们需要注意保管好新密码,并且定期更换密码,以提高系统的安全性。

2 利用具有管理员权限的用户切换到root用户

首先,我们需要有一个具有管理员权限的用户,也就是可以使用sudo命令的用户。如果我们没有这样的用户,或者也忘记了这个用户的密码,那么我们就需要使用其他方法来重置root密码,比如使用启动盘或者单用户模式。这里我们假设我们有一个名为admin的用户,它可以使用sudo命令。

要使用admin用户切换到root用户,我们可以使用以下命令:

sudo su -

这个命令会让我们输入admin用户的密码,然后切换到root用户的环境。注意,这里我们使用了su -而不是su,因为su -会切换到root用户的完整环境,包括环境变量、路径等,而su只会切换到root用户的shell。如果我们想要退出root用户,我们可以输入exit或者ctrl+d。

切换到root用户后,我们就可以修改root用户的密码了。要修改root用户的密码,我们可以使用以下命令:

passwd

这个命令会让我们输入新的root密码两次,然后显示密码已经更新的信息。注意,这里我们不需要输入旧的root密码,因为我们已经是root用户了。

3 救援模式

如果我们不知道旧的root密码,或者无法通过sudo命令切换到root用户,那么我们就需要使用其他方法来重置root密码。救援模式是一种特殊的启动模式,它可以让我们访问系统文件和命令行,但不会启动正常的系统服务和图形界面。要使用启动盘来进入救援模式,我们需要以下步骤:

  1. 准备一个可启动的centos安装盘或者U盘,并将其插入电脑。
  2. 重启电脑,并在启动时按下相应的键(通常是F12或者Del)来进入BIOS或者启动菜单。
  3. 选择从安装盘或者U盘启动,并按下任意键来开始安装程序。
  4. 在安装程序的界面中,选择Troubleshooting(故障排除),然后选择Rescue a CentOS system(救援一个centos系统)。
  5. 在救援模式的界面中,选择Continue(继续),然后选择1来让系统自动检测并挂载你的centos系统分区。
  6. 在命令行中输入以下命令来切换到你的centos系统分区:
bash 复制代码
chroot /mnt/sysimage
  1. 在命令行中输入以下命令来修改root密码:
bash 复制代码
passwd
  1. 输入新的root密码两次,然后显示密码已经更新的信息。
  2. 输入以下命令来退出chroot环境:
bash 复制代码
exit
  1. 输入以下命令来重启电脑:
bash 复制代码
reboot

以上就是通过单机维护模式,具有管理员权限的用户切换到root用户以及通过启动盘进入救援模式来找回或者重置root密码的方法。希望本文对你有所帮助。

相关推荐
小安运维日记3 分钟前
Linux云计算 |【第三阶段】PROJECT1-DAY1
linux·运维·云计算·apache
pyliumy20 分钟前
rsync 全网备份
linux·运维·服务器
苹果醋341 分钟前
SpringCloud系列之一---搭建高可用的Eureka注册中心
运维·nginx
诚诚k1 小时前
docker存储
运维·docker·容器
sorel_ferris1 小时前
Ubuntu-24.04中Docker-Desktop无法启动
linux·ubuntu·docker
ggb19991 小时前
【python的坑】vpn下,python request报错 check_hostname requires server_hostname
linux·运维·服务器
小O_好好学1 小时前
vi | vim基本使用
linux·编辑器·vim
-SGlow-1 小时前
Linux相关概念和重要知识点(4)(自举、vim)
linux·运维·vim
多多*2 小时前
OJ在线评测系统 登录页面开发 前端后端联调实现全栈开发
linux·服务器·前端·ubuntu·docker·前端框架
卑微的码蚁2 小时前
服务器相关问题
运维·服务器