• Linux自有服务+防火墙+计划任务



    自有服务概念

    服务是一些特定的进程,自有服务就是系统开机后就自动运行的一些进程,一旦客服端发出请求,这些进程就自动为它们服务,windows系统中,把这些自动运行的进程,称为“服务”

    比如我们用终端软件 XShell或者SecureCRT连接我们的Linux服务器的时候,我们的服务器为啥会对连接做出响应?是因为SSH服务开机就 自动运行了。

    所谓自有服务,可以简单理解为Linux系统开机自动运行的服务(程序)

    一、systemctl命令

    在CentOS7中 systemctl命令用来服务管理和开启启项管理

    显示系统服务

    语法:systemctl [选项]

    显示Linux系统中所有服务(包括启动的和没有启动的)

    systemctl list-units --type service --al

    只列出已经启动的Linux系统服务

    systemctl list-units --type service

    用管道+grep找到 shhd服务

    在这里插入图片描述

    服务管理

    1. 查看状态

    查看系统服务转态
    语法:systemctl status [服务名称]

    在这里插入图片描述

    2. 停止服务 stop

    语法:systemctl stop [系统服务名称]

    3. 启动服务 start

    语法:systemctl start [系统服务名称]

    4. 重启服务 restart

    语法:systemctl restart [系统服务名称]
    等价于:stop + start

    5. reload 热重载技术

    语法:system reload [系统服务名称]

    并非所有服务都支持热重载技术

    有些服务,比如 Nginx,更改了配置文件,但是不能重启Nginx服务,只是想立即让我们配置文件的更改生效,就可以使用热重载技术

    服务持久化

    所谓服务持久化,就是服务在开机的时候,是否自启动

    1. 设置服务开机自启

    语法:systemctl enable [系统服务名称]

    2. 设置开机不自启

    语法:systemctl disable [系统服务名称]

    3.查看服务是否设置开机自启动

    语法:systemctl list-unit-files

    在这里插入图片描述

    二、NTP时间同步服务

    概念

    NTP是网络时间协议(Network Time Protocol),它是用来同步网络中各个计算机的时间协议

    比如:
    某个点上公司网站,由于访问量很多的,后端由100台服务器组成集群。50台负责接收订单,50台负责安排发货,接收订单的服务器需要记录用户下订单的具体时间,把数据传给负责发货的服务器,由于100台服务器时间各不相同,记录的时间经常不一致,甚至会出现下单时间是明天,发货时间是昨天的情况。

    NTP时间同步原理

    问题:标准时间是哪里来的?

    ​ 现在的标准时间是由原子钟报时的国际标准时间UTC(Universal Time Coordinated,世界协调时),所以NTP获得UTC的时间来源可以是原子钟、天文台、卫星,也可以从Internet上获取。

    在NTP中,定义了时间按照服务器的等级传播,Stratum层的总数限制在15以内

    比如windows上的时间同步
    在这里插入图片描述
    从哪可以找合适的NTP服务器呢?

    服务器列表

    在这里插入图片描述

    NTP时间同步操作

    手工同步

    语法:ntpdate NTP服务器的IP地址或者域名

    通过date可以查看当前系统时间

    自动同步

    语法:

    1. 启动htpd服务
      systemctl start ntpd
    2. 把ntpd服务追加到系统开机启动项中
      systemctl enable ntpd
      注意:一定要让 设置 ntpd服务开机自启动

    三、防火墙

    概念

    防火墙:简单来说防火墙就是一堵墙,抵挡一些网络攻击。
    防火墙有物理防火墙和软件防火墙两类。

    在这里插入图片描述

    Linux中的防火墙

    CentOS7中,防火墙为 firewalld

    firewalld => fire火 wall墙 daemon守护进程

    区域

    firewalld增加了区域的概念,所谓区域是指,firewalld预先准备了几套防火墙策略的模板,用户可以根据需求选择区域。

    常见区域以及相应策略规则(哪些端口或服务可以通过防火墙,哪些不能通过)

    区域默认策略
    public拒绝流入的流量,除非与流出的流量相关,允许ssh,dhcpv6-client服务通过
    trusted允许所有数据包
    home拒绝流入的流量,除非与流出的流量相关,允许ssh,mdns,ippclient,amba-client,dhcpv6-client服务通过
    internal等同于home
    work拒绝流入的流量,除非与流出的流量相关,允许ssh,ipp-client,dhcpv6-client服务通过
    external拒绝流入的流量,除非与流出的流量相关,允许ssh服务通过
    dmz拒绝流入的流量,除非与流出的流量相关,允许ssh服务通过
    block拒绝流入的流量,除非与流出的流量相关,非法流量采取拒绝操作
    drop拒绝流入的流量,除非与流出的流量相关,非法流量采取丢弃操作

    模式分类

    • 运行模式:该模式下,配置的防火墙立即生效,但是不写入配置文件
    • 永久模式:此模式下,配置的防火墙策略写入配置文件,但是需要reload才能生效

    防火墙设置

    查看防火墙运行状态

    语法:systemctl status firewalld

    在这里插入图片描述

    停止防火墙

    语法:systemctl stop firewalld

    注意:这个操作一般只在学习环境总操作
    一旦停止防火墙,其设置的所有规则会全部失效!

    在这里插入图片描述

    启动防火墙

    语法:systemctl start firewalld

    在这里插入图片描述

    防火墙重启与重载操作

    重启语法:systemctl restart firewalld

    重启 => 先停止防火墙服务,再开启防火墙服务

    重载语法:systemctl reload firewalld

    如果我们对防火墙的配置文件做了更改(永久模式),需要使用 reload进行重载让其立即生效

    注意:reload并没有停止正在运行的防火墙服务,只是在服务的基础上变换了防火墙的规则,也就是说 重载操作并没有重启关闭防火墙

    设置防火墙开机自启

    设置开机启动:
    语法:systemctl enable firewalld

    在这里插入图片描述

    设置开机不启动
    语法:systemctl disable firewalld

    firewalld 防火墙规则

    1. 查看防火墙默认区域

    语法:firewall-cmd --get-defult-zone

    在这里插入图片描述

    2. 查看所有支持的区域

    语法:firewall -cmd --get-zones
    不同的区域就是不同的规则
    在这里插入图片描述

    3. 查看当前区域的规则设置

    语法:firewall-cmd --list-all

    在这里插入图片描述

    4. 查看所有区域的规则设置

    firewall-cmd --list-all-zones

    在这里插入图片描述

    添加运行通过的服务或端口

    1. 通过服务名称添加规则

    语法:firewall -cmd --zone=public --add-service=[服务的名称]

    在这里插入图片描述

    2. 通过名称移除防火墙

    语法:firewall-cmd --zone=public --remove-service=http

    在这里插入图片描述

    3. 通过服务的端口号添加规则

    语法:firewall-cmd --zone=public --add-port=[端口号]

    在这里插入图片描述

    4. 通过服务的端口号移除规则

    语法:firewall-cmd --zone=public --remove-port=[端口号/tcp]

    在这里插入图片描述

    永久模式permanent

    在Linux的新版防火墙firewalld中,其模式一共分为两大类:运行模式(临时模式)+ 永久模式。

    运行模式:不会把规则保存到防火墙的配置文件中,设置完成后立即生效

    永久模式:会把规则写入到防火墙的配置文件中,但是其需要reload重载后才会立即生效

    根据服务名称添加规则(永久)

    firewall-cmd --zone=public --add-service=服务名称 --permanent
    需要reload重载后永久配置才会生效
    firewall-cmd --reload

    根据端口号添加规则(永久)

    firewall-cmd --zone=public --add-port=服务占用的端口号 --permanent
    需要reload重载后永久配置才会生效
    firewall-cmd --reload

    四、Linux中的计划任务

    Linux中的计划任务可以在Linux操作系统中定时的执行某些任务,比如定时重启服务,定时的往一个文本里写入东西,也可以定时删除一些没有用的临时文件

    crontab 命令

    语法:crontab [选项]
    常用选项:
    -l:显示目前已经设置的计划任务
    在这里插入图片描述

    -e:使用vim 编辑器编辑计划任务的文件

    计划任务编写

    crontab -e 进入计划任务编辑文件

    打开计划任务编辑文件后,可以在此文件中编写我们自定义的计划任务

    注意计划任务的规则语法格式,以行为单位,一行为一个计划

    在这里插入图片描述

    计划任务格式

    • 分 时 日 月 周 要执行的命令
      注意:执行的命令,命令一定要是它的绝对路径,通过which查看
    • 取值范围
      分:0~59
      时:0~23
      日:1~31
      月:1~12
      周:0~7(0 和 )
    • 四个符号
      1. *:表示取值范围中的每一个数字
      2. -:做连续区间的表达式,比如2到6 可以写成 2-6
      3. /:表示每多少个时间执行一次,比如:每10分钟一次,可以写成 */10
      4. ,:表示多个取值,比如想在 3点,7点和19点执行,可以写成 1,2,6

    计划任务示例

    示例1:
    每个月的 1号的 00:30删除临时文件目录/tmp下的临时文件
    第一步:定制格式
    分 时 日 月 周 /usr/bin/rm -rf /root/tmp/*
    第二步:定制时间
    30 0 1 * * /usr/bin/rm /usr/bin/rm -rf /root/tmp/*

    示例2:
    每分钟往根目录下的 tmp.txt文件里写一个 hello
    第一步:定制格式
    分 时 日 月 周 /usr/bin/echo
    第二步:定制时间
    * * * * * /usr/bin/echo "hello" >> /tmp.txt

    示例3:
    每周的星期五的23:30移除防火墙的8080服务
    第一步:定制格式
    分 时 日 月 周 /usr/bin/firewall-cmd --zone=public ==remove-port=8080/tcp
    第二步:定制时间
    30 23 * * 5 /usr/bin/firewall-cmd --zone=public ==remove-port=8080/tcp

    示例4:
    每隔两天的下午14点到17点的第10和第32分钟往tmp.txt文件里写入 Linux
    第一步:定制格式
    分 时 日 月 周 /usr/bin/echo "Linux" >> /tmp.txt
    第二步:定制时间
    10,32 14-17 */2 * * /usr/bin/echo "hello" >> /tmp.txt

    crontab -e 进入计划任务编辑文件
    把这些任务每个占一行写入文件里保存就好
    在这里插入图片描述

  • 相关阅读:
    做进销存什么软件好用
    亚马逊云科技出海日6月9日盛夏盛启
    记账对于个人的意义
    Pyecharts数据可视化
    微软:我已把显存优化做到了极致,还有谁?
    python 就是随便玩玩,生成gif图,生成汉字图片,超级简单
    Spring事务与MyBatis事务的集成:通过ThreadLocal实现绑定
    【开题报告】基于SpringBoot的教资考试学习平台的设计与开发
    微信小程序获取微信用户步数
    北大肖臻老师《区块链技术与应用》系列课程学习笔记[6]比特币脚本
  • 原文地址:https://blog.csdn.net/weixin_53946852/article/details/125469205