重启虚拟机后进入这个界面,需要在6秒内按e键,进入更改 *** 作。进入后,找到linux并在最后添加rdbreak指令。添加rdbreak指令后,按下Ctrl加x即可。
依据密码法的规定,密码,是指采用特定变换的方法对信息等进行加密保护,安全认证的技术,产品和服务。
*** 作思路或步骤
(一)方案一思路(只介绍思路及重点命令,不详细截图演示 *** 作步骤)
1.把系统盘放入光驱,设置光驱引导启动。
2.进入救急模式,把原系统根目录所在的分区挂载到当前系统的某一目录下或者直接选1的continue就行,自动挂载。
图一
3.按照以下步骤进行 *** 作。
在已知密码的主机上执行:
[root@ChatDevOps ~]# awk -F ":" 'NR==1{print $2}' /etc/shadow
将已知密码主机终端输出内容粘贴到忘记密码的主机上,关键命令如下(将变量$2内容替换成已知密码主机屏幕显示内容):
[root@ChatDevOps ~]# awk -F ":" '{if(NR==1){$2="$6$0gOE0PHa$FO.D"}print $0}' /etc/shadow>shadow
[root@ChatDevOps ~]# sed -i '1s/ /:/g' shadow
[root@ChatDevOps ~]# chmod 000 shadow
[root@ChatDevOps ~]# mv shadow /etc/shadow
mv:是否覆盖"/etc/shadow"? y
此种情况只适用于已经开启密码投射的情况,开启和关闭密码投射的命令分别如下:
[root@ChatDevOps ~]# pwconv
[root@ChatDevOps ~]# pwunconv
如果没有开启密码投射也不用惊慌,同样的思路,只不过密码存放的文件变成了/etc/passwd而已。大家都看懂了吗?
(二)方案二思路
1.在方案一的基础上进行 *** 作,本来想和方案一合并的,考虑到合并之后显得很混乱,就单独写了。
2.分区挂载之后,直接把/mnt/sysimage/etc/shadow文件里面的第一个":"后面的内容直接删除。
在这一步需要注意的是:shadow的权限,在删除文字内容之前需要对该文件加读写权限,编辑完shadow文件之后保存以后去掉新加的权限。完成之后正常启动即可,系统启动之后无需输入密码,直接登录,登录进去之后passwd命令修改密码即可。非常方便!重点命令可参考方案四。
(三)方案三 *** 作步骤
1.编辑GRUB2。
正常开启系统,内核选择界面即GRUB2引导界面,按e键,光标上下移动,找到以linux16开头的这一行,按下键盘上的End键,直接跳至这一行的末尾,再按下空格键,输入:\rd.break,别忘了这里的反斜杠,完成后按下Ctrl+X进入命令行界面,此时屏幕显示:switch_root:/#。
2.重新挂载原系统文件,并chroot到原系统根目录下。
switch_root:/# mount -o remount,rw /sysroot
switch_root:/# chroot /sysroot
3.修改密码。
sh-4.2# passwd root
sh-4.2# touch /.autorelabel
4.Ctrl+D退出,reboot系统,使用新密码登录即可。
(四)方案四思路及要点
1.前一二步 *** 作跟方案三一模一样。
2.删除/etc/shadow文件root密码部分内容,需谨慎 *** 作。此步骤具体 *** 作过程跟方案二一致,主要命令如下:
sh-4.2# chmod u+rw /etc/shadow
sh-4.2# awk -F ":" 'NR==1{$2=""print $0}' /etc/shadow>shadow.txt
sh-4.2# sed -i '1s/ /:/g' shadow.txt
sh-4.2# sed -i 1d /etc/shadow
sh-4.2# cat shadow.txt >>/etc/shadow
sh-4.2# rm -rf shadow.txt
sh-4.2# chmod u-rw /etc/shadow
sh-4.2# touch /.autorelabel
touch /.autorelabel这一步是非常关键的,如果缺少这一步,删除root密码也是没有用的,亲测不坑!
3.Ctrl+D退出,reboot系统,输入root账号之后回车键无需输入密码即可登录,登录之后修改密码。
一、Centos7/RHEL7entos7/rhel7进入单用户方式和重置密码方式发生了较大变化,GRUB由b引导变成了ctrl+x引导。
重置密码主要有rd.break和init两种方法。
rd.break方法:
1、启动的时候,在启动界面,相应启动项,内核名称上按“e”;
2、进入后,找到linux16开头的地方,按“end”键到最后,输入rd.break,按ctrl+x进入;
3、进去后输入命令mount,发现根为/sysroot/,并且不能写,只有ro=readonly权限;
4、mount
-o
remount,rw
/sysroot/,重新挂载,之后mount,发现有了r,w权限;
5、chroot
/sysroot/
改变根;
(1)echo
redhat|passwd
–stdin
root
修改root密码为redhat,或者输入passwd,交互修改;
(2)还有就是先cp一份,然后修改/etc/shadow文件
6、touch
/.autorelabel
这句是为了selinux生效
7、ctrl+d
退出
8、然后reboot
至此,密码修改完成
init方法:
1.
启动系统,并在GRUB2启动屏显时,按下e键进入编辑模式。
2.
在linux16/linux/linuxefi所在参数行尾添加以下内容:init=/bin/sh
3.
按Ctrl+x启动到shell。
4.
挂载文件系统为可写模式:mount
–o
remount,rw
/
5.
运行passwd,并按提示修改root密码。
6.
如何之前系统启用了selinux,必须运行以下命令,否则将无法正常启动系统:touch
/.autorelabel
7.
运行命令exec
/sbin/init来正常启动,或者用命令exec
/sbin/reboot重启
二、较前版本的密码重置
开机后,点击“e”进入维护模式,选择“内核选项”,如下图所示:
再按“e”键,进入到编辑,在后面输入1,按回车退出,如下图:
再按“b”键,进入到单用户模式下,如下图:
进入到单用户模式后,输入密码设置指令:passwd
root,按提示输入指令,修改后重启即可,如下图所示:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)