安全运维 | Linux启动流程和服务管理

admin 2022年3月23日06:31:06评论47 views字数 2272阅读7分34秒阅读模式

一.

Linux启动流程

Rhel6启动过程:

安全运维 | Linux启动流程和服务管理

Rhel7启动过程:

安全运维 | Linux启动流程和服务管理

GRUB2相较于GRUB一代的提升:更健壮、可移植、更强大。支持BIOS、EFI和OpenFirmware,支持GPT和MBR分区表。支持非Linux系统,如苹果HFS文件系统和Windows的NTFS文件系统。

systemd 被设计用来改进 sysvinit 的缺点,它和ubuntu的upstart是竞争对手,预计会取代它们。

systemd的目标是:尽可能启动更少进程;尽可能将更多进程并行启动。systemd尽可能减少对shell脚本的依赖。传统sysvinit使用inittab来决定运行哪些shell脚本,大量使用shell脚本被认为是效率低下无法并行的原因。systemd使用了Linux专属技术,不再顾及POSIX兼容。

init和Systemd的区别

init:

  • 一是启动时间长,init是串行启动,只有前一个进程启动完,才会启动下一个进程。

  • 二是启动脚本复杂,Init进程只是执行启动脚本,不管其他事情,脚本需要自己处理各种情况,这往往使得脚本变得很长。

  • 由Linux内核加载运行,位于 /sbin/init  ,是系统中第一个进程,PID永远为1。

安全运维 | Linux启动流程和服务管理

对于支持 service 的程序,安装的时候,会自动的在 /etc/init.d 目录添加一个配置文件。当我们使用 service 控制程序时,比如执行开启httpd的服务:service httpd start 。那么我们的 service 就会开启 /etc/init.d/httpd 配置文件里面指向的 /usr/sbin/httpd 可执行文件。

安全运维 | Linux启动流程和服务管理

systemd:

  • 按需启动服务,减少系统资源消耗。

  • 尽可能并行启动进程,减少系统启动等待时间。

  • 由Linx内核加载运行,位于 /usr/lib/systemd/systemd ,是系统中第一个进程,PID永远为1。

安全运维 | Linux启动流程和服务管理

对于支持 systemd 的程序,安装的时候,会自动的在 /usr/lib/systemd/system 目录添加一个配置文件。当我们使用 systemctl 控制该程序时,比如执行开启httpd服务:systemctl start httpd.service 。那么我们的 systemctl 就会开启 httpd.service 配置里面指向的 /usr/sbin/httpd 可执行文件。

安全运维 | Linux启动流程和服务管理

如果我们想让该程序开机启动,我们可以执行命令 systemctl enable httpd,这个命令相当于在 /etc/systemd/system 目录添加一个软链接,指向 /usr/lib/systemd/system 目录下的 httpd.service 文件。这是因为开机时,Systemd只执行 /etc/systemd/system目录里面的配置文件。

安全运维 | Linux启动流程和服务管理

Init 进程的配置文件:

安全运维 | Linux启动流程和服务管理

Systemd进程的配置文件:

安全运维 | Linux启动流程和服务管理

运行级别和说明:

安全运维 | Linux启动流程和服务管理

查看运行级别:

  • runlevel : 显示切换前的运行级别 和当前运行级别 (6/7)

  • systemctl get-default : 显示当前运行级别 (7)

永久设置开机模式

  • systemctl set-default multi-user.target   开机默认为文本模式

  • systemctl set-default graphical.target   开机默认为图形模式

  • 修改 /etc/inittab 默认运行级别配置文件

二.

Linux服务管理(service,systemctl)

Rhel6 用 service 和 chkconfig 来管理服务,它是 SystemV 架构下的一个工具。Rhel7 是用 systemctl 来管理服务,它融合了之前的 service 和 chkconfig 的功能于一体。可以使用它永久性或只在当前会话中启用/禁用服务。systemctl 是 systemd 架构下的一个工具。

安全运维 | Linux启动流程和服务管理

systemd的一些常用命令:

列出所有可用单元 :systemctl list-unit-files

列出所有运行的单元:systemctl list-unit-files | grep enabled 列出所有可用服务:systemctl list-unit-files --type=service

列出所有运行的服务:systemctl list-unit-files --type=service | grep enabled

屏蔽httpd服务:systemctl mask httpd


相关文章:

  1. Linux系统安全 | Linux系统应急响应

  2. Linux系统安全 | Linux下的用户、组和权限

  3. Linux系统安全 | SELinux入门

  4. Linux系统安全 | Linux下性能监控、守护进程与计划任务管理

  5. Linux系统安全 | iptables防火墙实验

  6. Linux系统安全 | Linux下逻辑卷LVM的管理和RAID磁盘阵列

  7. Linux系统安全 | Linux下磁盘分区卸载和磁盘配额

  8. Linux系统安全 | Linux日志分析和管理

  9. Linux系统安全 | Linux中编写Shell脚本

  10. Linux系统安全 | Linux中正则表达式和字符串的查询、替换

  11. Linux系统安全 | Linux中grep工具的使用

  12. Linux系统安全 | Linux中sed工具的使用

  13. Linux系统安全 | Linux中awk工具的使用

  14. Linux系统安全 | Linux中.bash_文件讲解

  15. Linux系统安全 | Linux中的Shell和Bash

  16. Linux系统安全 | Linux系统登录相关



- 往期推荐 -



取证分析 | Volatility工具使用

安全运维 | Supervisor进程管理工具


【推荐书籍】

原文始发于微信公众号(贝塔安全实验室):安全运维 | Linux启动流程和服务管理

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年3月23日06:31:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   安全运维 | Linux启动流程和服务管理http://cn-sec.com/archives/580270.html

发表评论

匿名网友 填写信息