忘记密码,所有改密码行为,只能在接触物理机的情况下使用,因为需要用到键盘控制。
远程接触不了,是没法改的。除非服务器自动的远程系统,如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
重启后,就可以用新设置的密码登录了。