Linux 忘记密码怎么办,CentOS和Ubuntu重置密码方法

✍️Auth:star皆空       Date:2022/07/28       Cat:Linux服务器       👁️:5,080 次浏览

忘记密码,所有改密码行为,只能在接触物理机的情况下适用,因为需要用到键盘控制。

远程接触不了,是没法改的。除非服务器自动的远程系统,如dell的IDRAC远程操作,可以远程模拟物理环境,可远程重装系统等操作

一:CentOS重置密码

系统版本:centos 7.9

方法1:

1:开机按 “ESC” 键,进入系统引导界面,及时按上下方向键 “↑ ↓” 中断倒计时。

2:按“e”键,进入内核编辑界面

3:按方向“↓”键,往下翻到 linux16 这一行,然后在最后加上 “rd.break”

rd.break 意思是,在系统中断之前将控制权从initramfs系统移交给实际系统,initramfs作用可自行研究,这里不深究。

4:“ctrl + x”保存,将进入 Initramfs 的debug 命令模式,及单用户模式

5:依次输入以下命令

为/sysroot提供读写权限

mount -o remount,rw /sysroot/

切换至chroot环境,可以理解为以root 权限登录了原来的系统

chroot /sysroot

这时,可以更改密码了

passwd root

改完后,重新标记文件,创建这样一个文件其实就是在告诉SELinux放行这个策略,就是通知一下。如果开启了seLinux,就必须执行这个命令。

touch /.autorelabel

最后输入两次“exit” 命令,第一次退出chroot 模式,第二次退出Initramfs 的debug 命令模式重启进入系统。最后即可用新密码登录系统了。

方法2:

前面都一样,进入内核编辑界面,只是输入的口令不一样。

1:这里是在Linux16这行找到 “ro”

2: 将“ro” 改成 “rw init=/sysroot/bin/sh”

内核启动过程中会查找系统安装所在分区,然后把该分区挂在到 /sysroot 目录下,并由写的权限

3:然后 “ctrl+x” 保存开始进入单用户模式

4:后面步骤命令一样

#切换至chroot环境
chroot /sysroot
#更改密码
passwd root
#创建标记文件
touch /.autorelabel
#退出
exit
#重启
reboot


重启后,就可以用新密码登录了。

二:Ubuntu重置密码

Ubuntu版:20.04 ,Ubuntu分两种情况

情况一:从未设置过root密码的情况,忘记了其他登录用户密码

这种情况是默认没有开启root用户登录的,所以也没有设置root密码,安装系统时直接配置的其他的用户,如ubuntu用户。这种情况相对比较简单。

1:进入按”ESC”键,选择第二个高级选项

2:选择”recovery mode”恢复模式,按”enter” 回车进入

3:方向键”↓”,下面选择root 回车

4:更改其他用户密码

由于root本身没有设置密码,所以直接回车,即可进入root用户的命令模式。可直接修改其他用户的密码,如:ubuntu用户。也可以设置root密码,但是设置后,下次就不能用这种方式修改root密码了。

#更改密码
passwd ubuntu
#更改完成后,重启就行
reboot

有些版本,如果没法改,可能是没有权限,需要先执行以下命令,因为根分区已授予只读权限,但是在这里你也必须提供 root 和写访问权限。要使用写权限重新挂载它。

当然我这里的20.04没有这种情况,不执行以下命令,也可以直接更改其他用户密码。

mount -rw -o remount /


修改完成后,重启就可以用ubuntu新密码登录了。

情况二:以前设置过了root密码,忘了root密码

这种情况,用上面的方法就不行了,因为在恢复模式,root选择也是需要输入root密码的。会提示give root password for maintenance,这时候也有两种方法进入Grub模式修改。

方法1:

1:在进入高级选择后,光标停留在”recovery mode”,按“e”进入编辑模式

与第一种情况不同的是,在高级选项种,这里不按回车,直接按“e”进入编辑模式

2:修改recovery nomodeset

找到recovery nomodeset ,然后删除这条及后面内容,最后添加这条命令quiet splash rw init=/bin/bash


修改后如下:


最后按“ctrl+x” 或者F10 保存即可,保存后即可进入单用户模式

3:修改root密码

进入单用户模式后,这时可以修改root用户密码了,或者其他用户密码。
最后exit退出,重启即可用新密码登录root。

方法2:

1:引导页面直接按“e” 进入grub编辑模式

在开始的选择的这个页面直接按“e” 进入grub,不需要在高级选项种按“e”进入grub了

2:引导页面直接按“e” 进入grub编辑模式

找到,ro这一行

3:删掉ro及后面内容,添加rw init=/bin/bash

修改后如下:

最后按“ctrl+x” 或者F10,保存进入单用户模式

4:进入单用户模式,修改root密码

进入单用户模式,可以直接修改密码了


修改密码

#修改当前用户密码,及root
passwd
#或者其他用户
passwd root

修改完成后,保存重启

exec /sbin/init

重启后,就可以用新设置的密码登录了。

打赏作者

发表评论