1、运行级别
运行级别 | 说明 | 备注 |
---|---|---|
0 | 关机 | |
1 | 单用户 | 找回丢失密码 |
2 | 多用户状态没有网络服务 | |
3 | 多用户状态有网络模式 | 生产用 |
4 | 系统未使用保留给用户 | |
5 | 图像界面 | 模拟使用 |
6 | 系统重启 |
利用init切换级别
-------------
举例:init 3
2、指定运行级别
centos7之前,位于/etc/inittab
centos7
-----------------
[root@localhost ~]# systemctl get-default #查看当前运行级别
graphical.target #级别5 #multi-user.target 级别3
[root@localhost ~]# systemctl set-default multi-user.target #切换级别3
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
3、找回root密码
3.1、按"e"进入编辑模式
在所选内核上按 e 更新其启动选项,编辑内核参数
3.2、进入单用户模式
向下滚动到内核引导行,并在行尾添加 init=/bin/bash,利用ctrl+x启动
解释:
当计算机启动时,它会运行一个名为“init”的程序,通常位于 /bin/init 或 /sbin/init。该程序负责所有系统启动并创建可用的环境。指定 init=/bin/bash 会告诉内核运行 /bin/bash(这是一个 shell)
3.3、挂载模式改为可写
输入mount -o remount,rw /
解释:
进入shell后,根分区的挂载模式默认是只读,我们要将其改为可写,否则不能更改root密码
-------------------
指定 rw 会告诉内核以读写模式而不是只读模式引导硬盘。传统上,内核从只读模式的磁盘开始,稍后的进程会在切换到读写之前检查磁盘的完整性。
3.4、更改密码
新一行输入passwd
3.5、让SELinux放行
输入touch /.autorelabel
解释
--------------------------------
⛅为了让 SELinux 生效
⛅SELinux 它是一个安全增强系统, 其内部有许多安全策略
⛅针对一些操作, 如果你做了这些操作, 没有得到策略的放行, 它会给你禁止掉
⛅比如你使用单用修改root密码是不被策略放行的
⛅怎么让 SELinux 策略放行呢?
"touch /.autorelabel" 创建这样一个文件其实就是在告诉SELinux放行这个策略,
就是通知一下直接关闭掉SELinux
3.6、重启命令
输入exec /sbin/init等待系统自动修改密码,并重启
重启命令 reboot 现在已经不生效了, 直接使用绝对路径去执行 : exec /sbin/init 或 exec /sbin/reboot