标签归档:bash

CentOS 7 进入单用户模式图文详解

CentOS 7在进入单用户的时候和6.x做了很多改变,下面让我们来看看如何进入单用户。

在RHEL6(包括之前的版本)恢复root密码的话,只需在启动的时候,编辑下内核启动项,在kernel的最后一行加入s(1|single)就可以进入单用户模式对root密码进行修复。

而到了RHEL7之后是不可以这样操作的。在RHEL7里进入到单用户有rescure,emergency等模式,但还是必须要输入root密码才可以登录。如果要修复root密码只要按照下面的步骤操作:

在开机看到内核条目的时候,按e开始编辑,在kernel的最后加入init=/bin/sh,同时需要去掉rhgb和 quiet参数(必须要去掉),按ctrl+x启动系统,此时无需密码即可进入系统:

1、重启服务器,在选择内核界面使用上下箭头移动

2、选择内核并按“e”

3、找到下面这行,把ro改为rw 在此行最后面加上 init=/bin/bash 当然也可以是 init=/bin/sh

4、修改

这里要删除掉rhgb quiet,如下图

5、使用“ctrl + x” 来重启服务器就可以了,重启后就会进入到单用户

6、退出单用户命令

exec /sbin/init

网上有另外一种方法,我也没有用过,如果哪位童鞋操作了,请给留言下!

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

还有一种:

第一个里程碑 — 在启动GRUB菜单中选择编辑选项,按键  “e”  进入编辑;

第二个里程碑 — 大约在第16行找到 “ro”  将 “ro” 修改为 ” rw init=/sysroot/bin/bash “;

第三个里程碑 — 同时按下 ” ctrl + x “,进入单用户模式;

第四个里程碑  — 用 “chroot /sysroot ” 命令进入系统;

第五个里程碑 — ” passwd root ” 重置root密码;

第六个里程碑 — 用 ” touch /.autorelabel ”  更新SELinux信息;

第七个里程碑 — 输入 ” exit “退出 chroot ;

第八个里程碑 — 用 ” reboot -f  ” 重启你的系统;

第九个里程碑 — 登陆系统测试;

 

参考文档:  https://www.unixmen.com/reset-root-password-centos-7/