一、前言

本文通过以下几个方面介绍Linux管理体系中服务管理:

  • 什么是服务管理
  • 服务管理相关命令
  • Linux运行级别
  • Linux启动流程
  • 救援模式(单用户模式)

二、什么是服务管理

在Linux中,服务管理是系统管理的一个关键方面,它涉及管理和控制各种服务、守护进程和后台任务。服务管理的目标是确保系统中的各种服务可以在需要时启动、停止、重新启动,以及保持其稳定性和可用性。

三、服务管理相关命令

3.1 systemctl 管理服务

3.1.1 开机自启动

1、设置开机自启动

$ systemctl enable sshd

2、设置开机不会自启动

$ systemctl disable firewalld.service

3.1.2 管理正在运行的服务

1、检查 sshd 远程连接服务状态

$ systemctl status sshd

2、关闭正在运行的服务

$ systemctl stop firewalld.service

3、开启服务

$ systemctl start sshd

3.1.3 小结

systemctl 命令
开机自启动---开机自启 systemctl enable sshd
开机自启动---开机不自启 systemctl disable firewalld
服务开启 systemctl start sshd
服务停止 systemctl stop sshd
服务重启 systemctl restart sshd
查看服务状态 systemctl status 服务名字
显示服务运行情况 systemctl list-units
显示服务开机自启动情况 systemctl list-unit-files

3.1.4 特殊情况处理---服务无法使用systemctl管理实现

可以使用/etc/rc.local文件实现同样的效果,具体如下:

1、文件授权

$ chmod +x /etc/rc.local

2、把服务启动命令写入到/etc/rc.local。

四、Linux运行级别

4.1 Centos7运行级别 VS Centos6运行级别

运行级别 Centos7含义 Centos6含义
0 关机 关机
1 救援模式 secure 单用户模式,找回root密码
2 多用户模式 无网络的多用户模式
3 多用户模式 multiuser 命令行模式,文本模式,工作默认模式
4 多用户模式 未使用,待开发待使用
5 图形化界面模式,桌面模式. X11 graphical 图形化界面模式,桌面模式. X11
6 重启 重启

4.2 Centos7文件 VS Centos6文件

关于Centos7文件和Centos6文件对比:

$ ll /usr/lib/systemd/system/runlevel*.target
运行级别 Centos7含义 Centos6含义
0 poweroff.target runlevel0.target
1 rescue.target runlevel1.target
2 multi-user.target runlevel2.target
3 multi-user.target runlevel3.target
4 multi-user.target runlevel4.target
5 graphical.target runlevel5.target
6 reboot.target runlevel6.target

4.3 运行级别相关命令

1、查看当前系统运行级别

$ systemctl get-default

multi-user.target

2、修改运行级别(未来生产中不修改)

$ systemctl set-default graphical.target

3、重启

$ init 6

4、关机

$ init 0

五、Linux启动流程

image-20231018162907428

六、救援模式(单用户模式)

6.1 救援模式分类

救援模式分为两种:

  • 光盘救援模式
  • 普通救援模式

两种救援模式对比如下:

救援模式 光盘救援模式 普通救援模式
特点 进入系统,重置密码 进入系统,重置密码
应用场景 系统无法正常进入,作为进入系统最后的手段 重置密码等操作

6.2 光盘救援模式

1、重启,让系统以光盘启动(U盘)

2、在vmwarelogo页面的时候按1次esc键,弹出启动菜单,选择第3个【CD-ROM Drive】

image-20231018185447787

3、进入到系统安装页面,选择第3个【Troubleshooting】,回车进入

image-20231018185634523

4、然后选择第2个"Rescue a CentOS system",进入光盘救援模式

image-20231018185720411

5、耐心等待后,出来多个选项:输入1选择第1个选项

image-20231018185900474

6、按一下回车键,输入chroot /mnt/sysimage

image-20231018190210921

7、继续可以做其他操作了

6.3 普通救援模式

1、打开开机界面,按【e】centos7重置密码-图1

2、一直下翻,找到rhgb quiet,将其修改为rd.break后,按ctrl + x重启

centos7重置密码-图2

3、在switch_root界面执行mount -o remount,rw /sysroot命令挂载一个假系统

$ mount -o remount,rw /sysroot

4、在switch_root界面继续执行chroot /sysroot/更改根目录

$ chroot /sysroot/

5、在sh-4.2界面下执行passwd命令进行重置密码

$ passwd

centos7重置密码-图3

6、在sh-4.2界面下继续执行touch /.autorelabel命令创建一个隐藏文件,具体说明如下: 该rd.break参数在将控制权传递给内核之前中断引导过程。此时,当您运行passwd命令进行密码重置时,关联的影子文件 ( /etc/shadow) 会使用不正确的 SELinux 上下文进行修改。该命令在根目录下touch /.autorelabel创建一个名为的隐藏文件。.autorelabel在下次启动时,SELinux 子系统将检测到该文件,然后使用正确的 SELinux 上下文重新标记该系统上的所有文件。 7、在sh-4.2界面下执行exit命令退出单用户模式。

centos7重置密码-图4

8、在switch_root界面继续执行exit命令进行重启。

centos7重置密码-图5