📜21.1 重置root密码📑CentOS 7的处理方法🔖1.重启主机或者启动系统重启主机,进入内核选择界面的时候,按任意键停止倒数(除ENTER,我一般习惯按上下按键),之后按e
🔖2.合适位置输入rd.break在linux16开头的行的结尾输入rd.break
🔖3.ctrl+x进入紧急模式修改完后按ctrl+x进入紧急模式:
🔖4.重新挂载根现在的根为只读状态,需要挂载为读写状态以便进行修改
mount -o remount,rw /sysroot
🔖5.切换根使用chroot命令用来将指定的路径换为根目录进入到sh-4.2,即为你真正的系统
chroot命令用来将指定的路径换为根目录
chroot /sysroot
如果你装了中文系统,建议输入以下命令切换为英文语言环境
LANG=en_US.UTF-8
🔖6.修改密码需要输入两次密码进行确认
结尾看到successfully即为修改成功
修改密码
passwd root
也可以用明文的形式进行修改
echo "password" | passwd --stdin root
🔖7.重打标签并退出重启如果系统的 selinux 开启着,则需要执行命令: touch /.autorelabel 以更新系统信息
否则重启之后密码修改不会生效, 先退出当前根, reboot 重启系统
touch /.autorelabel
Ctrl+d/exit
Ctrl+d/exit
注意:开启 selinux 的情况下需要创建此文件, 因为在 rd.break 环境下 SELinux 是不生效的。在不生效的情况下我们修改了用户的密码,也就是修改了/etc/shadow 文件,所以密码文件的安全上下文的特性会被取消。如果没有让系统在启动时自动恢复 SELinux 的安全上下文,系统会报错“无法登录”,所以 SELinux 在 Enforcing 模式下的时候(如在 disabled 模式下则不用),在根目录下touch 隐藏文件 autorelabel 会让系统在重启时以 SELinux 默认类型重新写入 SELinux 安全上下文。
在8的系统一样的机制,因此,在不明确的情况,都执行一下touch /.autorelabel最为稳妥。
📑CentOS 8的处理方法🔖1.重启主机或者启动系统重启主机,进入内核选择界面的时候,按任意键停止倒数(除ENTER,我一般习惯按上下按键),之后按e
🔖2.合适位置输入rd.break找到linux那行从末尾一直删除到ro (也可不删除)
将 ro 改成 rw 再输入 rd.break
下图示例是在linux开头的那一行结尾加上rd. break,并修改读写模式引导系统(默认是ro只读)来玩。
🔖3.ctrl+x进入紧急模式修改完后按ctrl+x进入紧急模式:
🔖4.重新挂载根首先,可以mount查看系统根挂载情况:
如果是只读,则需要重新挂载(所以第2步修改rw就是为此而准备的)
mount -o remount,rw /sysroot
🔖5.切换根使用chroot命令用来将指定的路径换为根目录进入到sh-4.2,即为你真正的系统
chroot命令用来将指定的路径换为根目录
chroot /sysroot
如果你装了中文系统,建议输入以下命令切换为英文语言环境
LANG=en_US.UTF-8
🔖6.修改密码从这里开始,操作和 7 的系统一样了。
需要输入两次密码进行确认,结尾看到successfully即为修改成功
修改密码
passwd root
也可以用明文的形式进行修改
echo "password" | passwd --stdin root
🔖7.重打标签并退出重启如果系统的 selinux 开启着,则需要执行命令: touch /.autorelabel 以更新系统信息
否则重启之后密码修改不会生效, 先退出当前根, reboot 重启系统
touch /.autorelabel
Ctrl+d/exit
Ctrl+d/exit
打标签注意说明和 7 一致。可参考 7 的说明。
📜21.2 选择错误启动目标导致系统无法正常运行
有小伙伴手多设置了如下配置,那当你的机器一旦重启,就会发现进不到系统,一直循环重启。
systemctl set-default reboot.target
📑处理方法重复上述操作到 chroot /sysroot的步骤:
将启动模式改回来,就OK了。执行如下操作:
systemctl set-default mulit-user.target
Ctrl+d
Ctrl+d
#恢复成默认命令行启动