首页 > 代码库 > CentOS 7 Root用户密码重置 2017-04-02
CentOS 7 Root用户密码重置 2017-04-02
跨平台系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#linux
开机的时候按e (如果正在使用,你可以输入reboot,然后赶紧按回车键,也可以进入这个页面)
直接一路按向下箭头(我们要在底部加东西)
找到Linux16,在末尾处加入 init=/bin/sh (到linux16这一行,按下end键就到末尾了,记得加个空格),然后按ctrl+X就可以进入单用户模式了(有点像SQLServer恢复了)
mount -o remount,rw / 挂载根目录为可读可写模式
passwd 重置一下Root密码,输入密码,再确认密码(不知道为啥,是不是Centos现在都这样,记得以前是英文提示的)
touch /.autorelabel 创建系统文件.autorelabel,touch之前这个命令我说过,基础命令可以看这个(点我)http://dnt.dkill.net/dnt/linux/cmd.html
exec /sbin/init 初始化并启动系统
输入刚才的密码,发现~ok了
扩充说明,网上说CentOS7已经不能用这种传统方式恢复了,,,,额,我貌似可以,可能有些不可以吧,把网上的其他方法贴一下:
CentOS 7&RHEL 7进入单用户方式和重置密码方式发生了较大变化,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重启
CentOS 7 Root用户密码重置 2017-04-02