《鸟哥的Linux私房菜》读书笔记:daemon(service)

2024-06-17 14:08

本文主要是介绍《鸟哥的Linux私房菜》读书笔记:daemon(service),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

daemon简介

  • 依据启动和管理方式,daemon分为stand alone与super daemon两类,两种方式可以同时存在。
    • stand alone:自启动服务,不必通过其他机制的管理,启动加载到内存后一直占用内存和资源,在内存中持续提供服务,对于客户端的要求响应速度快。常见的服务有httpd、vsftpd
    • super daemon:一个特殊的daemon统一管理,其常驻内存,负责唤醒各项服务,拥有安全控管机制;在客户端联机时才唤醒所对应的服务,联机结束就关闭服务,因此不会一直占用系统资源,但反应速度较stand alone慢。有多线程与单线程的处理模式。
  • 依据提供服务的工作状态,daemon分为signal-control和interval-control
    • signal-control:透过信号管理,只要客户端的需求进来,服务就去处理
    • interval-control:每隔一段时间就主动去执行工作
  • daemon启动脚本、相关配置文件:
    • /etc/init.d/:启动脚本存放目录
    • /etc/sysconfig/:服务初始化环境配置文件
    • /etc/xinetd.conf/etc/xinetd.d/:super daemon主要配置文件为/etc/xinetd.conf,其管理的其他daemon设定在/etc/xinetd.d/目录下
    • /etc/:各服务的配置文件存放目录
    • /var/lib/:各服务产生的数据存放目录
    • /var/run/:各服务的PID记录目录
    • stand alone启动方式:/etc/init.d/*启动、关闭、观察,或者利用service命令来执行service name option
    • super daemon启动方式:xinetd本身为一个stand alone服务。修改/etc/xinetd.d/*配置文件disable字段,然后重启xinetd服务/etc/init.d/xinetd restart。在/etc/services查看服务相应端口,netstat -tnlp观察服务是否启动

super daemon配置文件

通过设定默认配置文件xinet.conf与/etc/xinetd.d/目录下的各服务配置文件,可以进行安全性和其他管理机制的管控,提供服务的安全性和资源的合理分配。添加合适的属性与相关值,可以作到更为细致的管理。

服务防火墙管理xinetd,TCP Wrappers

  • 默认软件分析工具:/etc/hosts.allow,/etc/hosts.deny。它们也是/usr/sbin/tcpd的配置文件,tcpd是用来分析进入系统TCP网络封包的一个软件。因为TCP包含源和目的主机的IP和port,所以用其和hosts.allow、hosts.deny对比可以判定是否允许该TCP包能否进入主机。allow的设定优先于deny。

  • TCP Wrappers:额外安装的套件,可以加上一些追踪功能。一个服务受到xinetd管理,或者支持TCP Wrappers函数功能,则该服务防火墙支持hosts.{deny,allow}设定。用ldd(lib dependency discovery)命令来查看相关服务的动态链接库是否有libwrap.so,若有则支持TCP Wrappers,否则不支持。TCP Wrappers可以管控:

    • 来源IP/整个网域的IP网段
    • port

    更为细部的主要动作:

    • spawn(action):可以利用后续接的shell来进行额外的工作,且有变量功能,主要的变量内容为:%h(hostname),%a(address),%d(daemon)。
    • twist(action):立刻以后续指令执行,执行完毕后终止此次联机要求。

系统开启的服务

  • 观察系统启动的服务:ps、top、netstat指令。通常用netstat来查询,其可以查询有网络监听的服务。-t:查询TCP包;-u:查询UDP包;-n:不以主机名和服务名显示,显示IP地址与port号;-l:有监听的服务;-p:查看pid号。
  • 设定开机后立即启动服务的方法:
    • chkconfig管理系统服务默认开机与否。
      chkconfig --list [服务名称]
      chconfig [--level[0123456]] [服务名称] [on|off]
      –list:将各服务状态列出来
      –level:设定某个服务在该level下的启动与关闭。图形接口(x窗口接口)run level为5,纯文本界面run lever为3。
    • ntsysv:类图形接口管理模式。Red Hat系统特有。
  • chkconfig设定自己的系统服务:
    chkconfig [--add|--del] [服务名称]
    服务名称必须在/etc/init.d/目录下(必须是stand alone服务,很好理解,chkconfig就是管理开机是否自启动,而super daemon则是通过自身来唤醒其他服务,不能自启动),在init.d目录的配置文件中需加入顺位描述chkconfig [runlevels] [启动顺位] [停止顺位]

这篇关于《鸟哥的Linux私房菜》读书笔记:daemon(service)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1069659

相关文章

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

Linux链表操作方式

《Linux链表操作方式》:本文主要介绍Linux链表操作方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、链表基础概念与内核链表优势二、内核链表结构与宏解析三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势六、典型应用场景七、调试技巧与

详解Linux中常见环境变量的特点与设置

《详解Linux中常见环境变量的特点与设置》环境变量是操作系统和用户设置的一些动态键值对,为运行的程序提供配置信息,理解环境变量对于系统管理、软件开发都很重要,下面小编就为大家详细介绍一下吧... 目录前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Linux实现线程同步的多种方式汇总

《Linux实现线程同步的多种方式汇总》本文详细介绍了Linux下线程同步的多种方法,包括互斥锁、自旋锁、信号量以及它们的使用示例,通过这些同步机制,可以解决线程安全问题,防止资源竞争导致的错误,示例... 目录什么是线程同步?一、互斥锁(单人洗手间规则)适用场景:特点:二、条件变量(咖啡厅取餐系统)工作流

Linux中修改Apache HTTP Server(httpd)默认端口的完整指南

《Linux中修改ApacheHTTPServer(httpd)默认端口的完整指南》ApacheHTTPServer(简称httpd)是Linux系统中最常用的Web服务器之一,本文将详细介绍如何... 目录一、修改 httpd 默认端口的步骤1. 查找 httpd 配置文件路径2. 编辑配置文件3. 保存

Linux使用scp进行远程目录文件复制的详细步骤和示例

《Linux使用scp进行远程目录文件复制的详细步骤和示例》在Linux系统中,scp(安全复制协议)是一个使用SSH(安全外壳协议)进行文件和目录安全传输的命令,它允许在远程主机之间复制文件和目录,... 目录1. 什么是scp?2. 语法3. 示例示例 1: 复制本地目录到远程主机示例 2: 复制远程主

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

Linux CPU飙升排查五步法解读

《LinuxCPU飙升排查五步法解读》:本文主要介绍LinuxCPU飙升排查五步法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录排查思路-五步法1. top命令定位应用进程pid2.php top-Hp[pid]定位应用进程对应的线程tid3. printf"%

Linux下安装Anaconda3全过程

《Linux下安装Anaconda3全过程》:本文主要介绍Linux下安装Anaconda3全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录简介环境下载安装一、找到下载好的文件名为Anaconda3-2018.12-linux-x86_64的安装包二、或者通