目录
一、Linux运行级别
1. 运行级别介绍
2. 查看/修改系统级别
3. 切换系统运行级别
二、root用户找回密码
一、Linux运行级别
1. 运行级别介绍
Linux 运行级别分为0 ~ 6 共7级,说明如下:
级别 | 说明 |
---|---|
0 | 关机 |
1 | 单用户(找回密码) |
2 | 多用户状态没有网络服务(命令界面) |
3 | 多用户状态有网络服务(命令界面) |
4 | 系统未使用,保留给用户 |
5 | 图形界面 |
6 | 系统重启 |
系统常用级别为 3 和 5,切记不要设置成 0 或 6。
2. 查看/修改系统级别
在Linux所在的物理主机中,查看系统运行界别,打开系统级别配置文件
vim /etc/inittab
修改当前Linux系统运行级别,把id:5修改成你要的运行级别即可。
注意:不要把运行级别修改成 0(关机) 或 6(重启),不然会导致Linux系统启动不了,会一启动关机或重启。
3. 切换系统运行级别
在Linux所在的物理主机中,输入命令切换
init [012356]
从图形界面切换到 3 命令界面示例
二、root用户找回密码
思路:
在Linux系统所在的物理主机上,进入到单用户模式(因为单用户模式,root不需要密码就可以登录),然后再修改密码。
步骤:
1. 重启Linux,在下图倒计时结束前,按一下 ENTER键,进入启动引导界面
注意:按 ENTER键时,鼠标焦点必须在Linux系统中。
2. 输入 e 在引导启动前编辑命令,使用上下键高亮选中第二项,如下图
3. 再次输入 e 编辑当前选中项,如下图
4. 输入 空格 1,如下图
此处的1,即表示进入运行级别1(单用户模式)
5. 再次按 ENTER键,保存应用本次修改
6. 输入 b 开始执行本次修改后的启动引导命令,稍等片刻后便进入单用户模式,而且是以root身份登录
7. 输入命令 修改root账号密码
passwd root
修改成功后,重启服务器即可验证当前修改是否已生效。
释疑:
至此,包括我自己在内,我一开始也是觉得,感觉Linux安全性好差,随便一个人都可以修改root密码,然而实际情况是:能进入单用户模式的都是root用户,且都不需要登录密码。单用户模式需要在虚拟机中运行,不能在远程启动,因为远程启动必须要在虚拟机启动后才能进行。单用户模式下,用户并没有完全的运行起来,只是部分运行,不能登录进入Linux,而是由root用户来完成。通过单用户模式进入的root用户对系统拥有完全的权限,可以修复系统,同理,当然也可以破坏系统。
再因为单用户模式只能在Linux系统所在的主机上运行,所以想通过单用户模式修改root密码的人,必须企业内部权限足够高的人,比如机房管理员之类的,只有他们能正常接触到物理主机,所以才会把最终的root免密权限开放给这类高权限的管理人员,由他们对系统进行维护,平时我们开发的时候都是通过远程连接到服务器中进行,并不能进入到单用户模式。
同理,若服务器运行级别被别人恶意或恶作剧设成 0 或 6,也可以通过单用户模式修改系统级别配置文件进行处理