今天看到了一篇写如何破解Linux密码的文章,刚开始还不信,怎么会那么简单就可以破解,没想到真的可以。至少在centos和ubuntu上我实验确实是可以破解(是在不需要知道原密码的情况下直接破解)。所以这里就简单做个笔记了,在忘记了系统密码时还是非常有用的啦。
当然了,实验的前提是使用grub来启动系统的,而我使用的refind则不知道怎么进入编辑模式,所以是在虚拟机下实验的。
方法一:rd.break
rd:ramdisk,the initial ramdisk(initrd) environment.
-
在系统进入grub菜单时,在需要重置密码的选项上按
e
进入编辑模式 -
在if....fi语句的下一行按
end
来到行的末尾,并在末尾添加rd.break
-
按
ctrl+x
进入shell -
重新挂载系统并赋予读写权限(
ls
查看系统跟目录为/sysroot
所以需要挂载它)mount -o remount,rw /sysroot
-
切换到
root
目录chroot /sysroot
-
重置密码
重置root密码
passwd
或者可以重置其它用户密码
passwd 用户名
-
让
selinux
生效touch /.autorelabel
-
退出重启
exit && reboot
方法二:init
init:initial environment.
-
在系统进入grub菜单时,在需要重置密码的选项上按
e
进入编辑模式 -
在if....fi语句的下一行按
end
来到行的末尾,并在末尾添加init /bin/sh #当然了也可以换成别的shell,比如bash
-
按
ctrl+x
进入shell -
重新挂载系统并赋予读写权限(
ls
查看系统跟目录为/
所以需要挂载它)mount -o remount,rw /
-
重置密码(由于是根目录所以不需要切换)
重置root密码
passwd
或者可以重置其它用户密码
passwd 用户名
-
让
selinux
生效touch /.autorelabel
-
进入系统
exec /sbin/init
或者重启
exec /sbin/reboot
网友评论