在系统使用过程中,我们难免会出现遗忘系统密码的情况,下面教给大家一种以单用户模式进去系统修改密码的方式,分别有centos6系和centos7系的操作过程。
操作如下:
操作系统 centos 6系使用
重启系统,按键盘Esc键,进入如下图画面,按键盘上的e进入编辑。
进入这个画面以后,通过键盘的上下方向键选择kernel那行,然后再按e进入编辑。
在最末尾处加入参数single或者1,然后回车保存
点击B启动系统,进入如下画面
进入命令行,敲passwd,进入输入新密码状态,输入两次即可
操作系统 centos 7系使用
Centos7采用的是grub2,和Redhat6.x进入单用户的方法不同。
一、init方法
1、centos7的grub2界面会有两个入口,正常系统入口和救援模式;
2、修改grub2引导
在正常系统入口上按下"e",会进入edit模式,搜寻ro那一行,以linux16开头的;
把ro更改成rw;(把只读更改成可写)
把rhgb quiet删除;(quiet模式没有代码行唰唰的走,可以删除)
增加init=/bin/sh;(或init=/bin/bash,指定shell环境)
按下ctrl+x来启动系统。
3、修改root密码
#passwd #修改密码
#touch /.autorelabel #据说是selinux在重启后更新label
#exec /sbin/init #正常启动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/ 改变根;
提示符变成了sh-4.2#
(1)echo redhat|passwd �stdin root 修改root密码为redhat,或者输入passwd,交互修改;
(2)还有就是先cp一份,然后修改/etc/shadow文件
网上说为了selinux生效还需要执行#touch /.autorelabel ,实测发现不执行这一句也可以。
6、ctrl+d 退出chroot状态。
7、然后执行#reboot命令重启服务器。