Linux 基础篇(06)Linux 系统管理员

本文详细介绍了Linux系统中的守护进程(daemon)和服务(service)的概念,包括stand alone和super daemon的区别,以及服务与端口的对应。重点讨论了super daemon,如systemd的配置文件解析,以及服务防火墙管理TCP Wrappers的使用,包括基本配置和实现额外操作。此外,还涉及系统开机启动的服务管理和日志文件的管理,如syslogd配置、日志文件轮替(logrotate)及其重要性。
摘要由CSDN通过智能技术生成

系统服务 (daemons)

一、守护进程daemon与服务service

  • 举例来说,linux系统需要实现循环执行定时任务的功能就需要 crond 程序的执行
  • 这里讲的循环执行定时任务就是系统提供的服务service,但是实现这个功能的是 crond 这个程序,也就是daemon
  • 一般情况没有必要非要去区分二者的差别,就将二者视为一样的也可以

1、daemon 的类型

stand alone:此 daemon 可以自行单独启动服务
  • stand alone 的 daemon 响应速度较快。
  • 常见的 stand alone daemon 有 WWW 的 daemon (httpd)、FTP 的 daemon (vsftpd) 等等
  • 系统服务都是独立运行的守护进程,包括syslogd和crond等
super daemon:一支特殊的 daemon 来统一管理
  • 这种服务的启动方式则是藉由一个统一的 daemon 来负责唤起服务,这个特殊的 daemon 就被称为 super daemon

  • 当没有客户端的请求时,各项服务都是未启动的情况,等到有来自客户端的要求时, super daemon 才唤醒相对应的服务,当客户端的请求结束后,被唤醒的这个服务也会关闭并释放系统资源,这种模式的运行示意图如下
    在这里插入图片描述

  • 这种模式的优缺点:

    • super daemon 可以具有安全控管的机制,就是类似网络防火墙的功能啦
    • 比较节约系统的资源,但是同时对客户端提供响应的速度相对慢一些
  • super daemon 的处理模式有两种,分别是这样:

    • multi-threaded (多重线程):
      全部客户的请求都给他拿来,一次给他交办下去,所以一个服务同时会负责好几个程序
    • single-threaded (单个线程):
      一个一个来,第一个没有处理完之前,后面的请排队,请求多的话要等很久
      在这里插入图片描述
  • 以 daemon 提供服务的的工作状态来区分,又可以将 daemon 分为两大类

    • signal-control
      通过讯号来管理的,只要有任何客户端的需求进来,他就会立即启动去处理。
    • interval-control
      就是每隔一段时间就主动的去运行某项工作,前面学到的 atd 与 crond 就属于这种类型的 daemon 啦

守护进程(daemon)命名守则:就是在与原有的单词后面加上一个 d

2、服务与端口的对应

  • 在互联网的世界里,通过IP可以找到我们的主机,通过具体的port端口可以定位到具体的服务(程序)
  • Linux 里面配置对应关系的服务和端口号就是 /etc/services啦,不过这个东西最好不要随便改,因为都是遵循互联网的协议的

3、daemon 的启动脚本与启动方式

daemon相关文件
  • /etc/init.d/* :启动脚本放置处
    系统上几乎所有的服务启动脚本都放置在这里,这是公认的目录,实际上放置在 /etc/rc.d/init.d/ 啦,此目录是一个链接文件;centos7中这个目录里面基本没啥东西了,init已经被systemd取代了
  • /etc/sysconfig/*:各服务的初始化环境配置文件
    几乎所有的服务都会将初始化的一些选项配置写入到这个目录下,举例来说,而网络的配置则写在 /etc/sysconfig/network-script 这个文件夹中
  • /etc/xinetd.conf, /etc/xinetd.d/* :super daemon 配置文件
  • /var/lib/* :各服务产生的数据库
  • /var/run/*:各服务的程序之 PID 记录处
    daemon 通常会将自己的 PID 记录一份到 /var/run/ 当中!例如登录文件的 PID 就记录在 /var/run/syslogd.pid 这个文件中
Stand alone 的启动方式
  • 独立运行的守护进程由init脚本负责管理,所有独立运行的守护进程的脚本在/etc/init.d/目录下
  • 老版本的 centos 命令 service 本质也是到 /etc/init.d/* 目录下寻找相关的启动脚本来启动服务
  • centos7中 init.d 文件夹里面基本没啥启动的脚本了,服务的管理都是通过 systemctl 来管理了
Super daemon 的启动方式
  • centos中的super daemon一般是由 xinetd 来实现的,他可以同时监听多个指定的端口
  • Xinetd的配置文件 /etc/xinetd.conf ,个别 daemon 配置文件则在 /etc/xinetd.d/* 内,也就是说前者是一个全局的配置,后者是针对个别 daemon 的配置

参考文章:
systemctl使用指南:CentOS 7.x systemd对比CentOS 6.x daemon
Linux中的两种守护进程stand alone和xinetd
最简明扼要的 Systemd 教程,只需十分钟

二、解析 super daemon 的配置文件

1、centos7的服务的配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值