Linux运行级别概述 以及 CentOS 7以上系统修改密码的方式
注意: centos7.0及其以上已经不再支持inittab, 但是init指令仍旧支持;
打开inittab后显示如下内容:
- 英文注释写的很清楚,大致就是用systemctl set-default 和 systemctl get-default 取代数字级别
# 查看当前运行级别
systemctl get-default
# 设置当前运行级别为3 (开机为命令行模式)
systemctl set-default multi-user.target
# 设置当前运行级别为5 (开机为图形界面)
systemctl set-default graphical.target
一, 运行级别概述
所谓运行级别,简单点来说,就是指操作系统当前正在运行的功能级别。在我们使用的Linux系统中,一共定义了7种运行级别,从0到6,每一种运行级别都具有不同的功能
- inittab配置文件
在配置文件目录下有一个inittab文件/etc/inittab,用于专门存储系统的运行级别,当Linux系统启动时,会查询这个运行级别。
- Linux下的7种运行级别
0
halt 关机,代表系统停机状态
,默认情况下,系统运行级别不能设置为0,否则电脑一开机就进入关机模式,电脑将不能正常启动
1Single user mode 单用户模式
,只支持root账户,主要用于系统维护,禁止远程登陆,类似于Windows下的安全模式
2Multiuser,without NFS 它是多用户模式,
没有网络文件系统支持
3Full Multiuser mode 完全多用户模式,
有网络文件系统,用户登录后进入控制台命令行模式,在没有网络的环境下等同于运行级别2
4unused 系统未使用,用作保留,一般不用
,在一些特殊情况下可以用它来做一些事情,例如:在笔记本电脑的电池用尽时,可以切换到这一模式来做一些设置
5图形界面
6Reboot 重启
,默认情况下,运行级别不能设为6,否则电脑一开机就进入重启模式会一直不停地重启,系统将不能正常的启动
常用的运行级别是3 和 5,这在前面的文章中也曾经提到,如果要修改默认初始化运行级别,那么只需修改 “id:” 后面的数字即可。
切换运行级别
除了通过修改inittab文件中的默认运行级别之外,管理员还可以通过init 命令来任意切换 7个级别,值得一提的是,其中 0 和 6这两个级别还等效于 shutdown 和 reboot 。
二, 案例: 将运行级别切换为3,再切换为5
打开终端,执行init命令:
三, 案例: 如何利用系统运行级别来找回root用户的密码呢
?
进入到单用户模式, 修改root密码即可
注意!!! 网上关于linux单用户修改密码的教程大多都是centos7以下的, 下面的教程针对的是cenos7及其以上的系统, 使用此方法前一定要确认一下自己的系统版本哈
第一步:开机,在引导界面按方向键,进入引导界面,
第二步:将光标向下移,定位到linux16开头的那一段, 在这段话的末尾添加 rw single init=/bin/bash
第三步:更改完后,按Ctrl+x
组合键,进入emergency模式
第四步:输入passwd
连续键入两次新密码, 完事儿
第六步: 修改完密码后,还需要再输入一个命令,touch /.autorelabel
,执行这一步的作用是让SELinux生效,如果不执行的话,那么我们修改的密码是不会生效的。
第七输入exec /sbin/init
,回车, 不用管提示, 直接 ctrl+D
重启