IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux自有服务+防火墙+计划任务 -> 正文阅读

[系统运维]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-default-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 进入计划任务编辑文件
把这些任务每个占一行写入文件里保存就好
在这里插入图片描述

计划任务权限

1. 黑名单

crontab是任何用户都可以创建的计划任务,但是root管理员可以通过配置来设置某些用户不允许设置计划任务。

如想限定某个用户使用计划任务,就可以使用任务计划黑名单,黑名单的文件路径/etc/cron.deny文件。
用vim打开该文件,然后把要拉黑的用户名写到文件中再保存。

示例:
比如我要把 hhy这个用户加入到黑名单

在这里插入图片描述
加入黑名单中,在hhy用户下就无法使用任务计划命令crotab命令了

在这里插入图片描述

2. 白名单

在Linux计划任务中,除了有黑名单外,还有白名单。
白名单的作用是允许哪些用户使用计划任务。
白名单文件的路径为:/etc/cron.allow需要注意的是此文件需要自己创建的

注意:

白名单优先级高于黑名单,如果是一个用户同时存在两个名单文件中,则默认被允许创建计划任务

也就是说同时把用户加入黑名单和白名单,还能能使用 crontab命令

3. 查看计划任务的保存文件

/var/spool/cron目录下有每个用户的任务计划文件,通过命令就可以查看到任务计划
在这里插入图片描述

4. 计划任务日志程序

任务计划的日志文件的路径为 /var/log/cron
示例:
通过使用 tail -f /var/log/cron查看日志

在这里插入图片描述

at命令

在CentOS7中有个at命令,也可以显示定时任务计划。只不过at命令是设置的任务计划是只执行一次的

其它版本可能需要安装通过yum install at -y命令安装才能使用。

启动at底层服务

at 命令需要启动服务才能使用
启动语法:
systemctl start atd
暂停语法:
systemctl enable atd

at使用

示例1:4天后的下午5点执行/usr/bin/echo,将hello追加到tmp.txt文件里

# at 2pm+4 days
at> /usr/bin/echo hello >> /root/tmp.txt
at>ctrl+D退出

在这里插入图片描述

am = 上午、pm = 下午、 4 days = 4天

示例2:

明天的 18点启动httpd服务

$ at 18:00 tomorrow
at> /usr/bin/systemctl start httpd
at> <EOT>
job 10 at Fri Jul  1 18:00:00 2022

tomorrow = 明天
在这里插入图片描述

示例三:
使用 atq查看没有执行的任务计划

在这里插入图片描述
示例四:
删除指定的计划任务
语法:atq
atrm 任务号

在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-07-03 11:10:24  更:2022-07-03 11:11:12 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/5 12:44:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码