Linux系统安全-Linux启动流程和服务管理(init和systemd)

VSole2021-09-13 07:34:54

一.Linux启动流程

Rhel6启动过程:

Rhel7启动过程:

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。

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

systemd:

  • 按需启动服务,减少系统资源消耗。
  • 尽可能并行启动进程,减少系统启动等待时间。
  • 由Linx内核加载运行,位于 /usr/lib/systemd/systemd ,是系统中第一个进程,PID永远为1。

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

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

Init 进程的配置文件:

Systemd进程的配置文件:

运行级别和说明:

查看运行级别:

  • 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 架构下的一个工具。

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

systemdsystemctl
本作品采用《CC 协议》,转载必须注明作者和本文链接
Systemctl 介绍Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。Systemd的功能是用于集中管理和配置类UNIX系统。在Linux生态系统中,Systemd被部署到了大多数的标准Linux发行版中,只有为数不多的几个发行版尚未部署。Systemd通常是所有其它守护进程的父进程,但并非总是如此。开始SystemdSystemctl 基础工具之旅01、首先检查系统上是否安装了systemd以及当前安装的Systemd的版本是什么?
域名准备选择哪家的云都没问题,这里我选择的TX云,因为之前注册过了,自己拿来做个流量分析不成问题。域名添加解析记录需要准备自己的vps作为DNS隧道的服务端,且需要添加ns记录iodined关闭53端口关闭开机自启systemctl?“D”的数量随级别增加。
红蓝对抗—蓝队手册
2022-03-18 14:22:22
红蓝对抗的主要目的在于,提高公司安全成熟度及其检测和响应攻击的能力。
一.Linux启动流程Rhel6启动过程:Rhel7启动过程: GRUB2相较于GRUB一代的提升:更健壮、可移植、更强大。
Interactsh搭建DNSLog服务
2021-12-07 20:15:00
origin-url这个参数是给前端验证用的,同源策略,建议设置成*,这样的话本地也能用。
本文记录从零开始搭建F5 BIG-IP漏洞调试环境的细节。
一.Linux启动流程Rhel6启动过程:Rhel7启动过程: GRUB2相较于GRUB一代的提升:更健壮、可移植、更强大。支持BIOS、EFI和OpenFirmware,支持GPT和MBR分区表。
Kubernetes基础环境搭建
2022-05-09 14:47:39
雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
CTFd动态靶机搭建笔记
2022-04-28 22:00:10
动态靶机搭建
VSole
网络安全专家