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