day16学习笔记

firewalld防火墙的概念

1)区域

CentOS6x中防火墙叫做iptables

CentOS7.x 中默认使用的防火墙是firewalld,但是依然更多的是使用iptables,firewalld默认都关了。

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

常见区域及相应策略规则

 

 

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

 

2)运行模式和永久模式

运行模式:此模式下,配置的防火墙策略立即生效,但是不写入配置文件

永久模式:此模式下,配置的防火墙策略写入配置文件,但是需要reload重新加载才能生效。

 

查看,开启和停止firewalld服务

命令:systemctl

作用:管理服务

语法:#systemctl [选项] firewalld

选项:

status:检查指定服务的运行状况

start:启动指定服务

stop:停止指定服务

restart:重启指定服务

reload:重新加载指定服务的配置文件(并非所有服务都支持reload,通常使用restart)

 

2) 管理firewall配置

命令:firewall-cmd

作用:管理firewall具体配置

语法:#firewall-cmd [参数选项1] ....[参数选项n]

常用选项:

使用防火墙命令,查看系统提供了哪些模板

复制代码
[root@ztdyyds ~19:23:29]##1.列出所有的区域模板                                        
[root@ztdyyds ~19:23:38]#firewall-cmd --get-zones
block dmz drop external home internal public trusted work                             
[root@ztdyyds ~19:24:25]##列出所有区域模板和具体信息
[root@ztdyyds ~19:24:54]#firewall-cmd --list-all-zones                                
block                                                                                 
  target: %%REJECT%%                                                                  
  icmp-block-inversion: no                                                            
  interfaces:                                                                         
  sources:                                                                            
  services:                                                                           
  ports:                  
复制代码
[root@ztdyyds ~19:25:03]##列出当前默认使用的区域
[root@ztdyyds ~19:26:01]#firewall-cmd --get-default-zone 
public
[root@ztdyyds ~19:26:11]#
复制代码
[root@ztdyyds ~19:26:11]##3.查看当前的public区域,以及其详细信息
[root@ztdyyds ~19:26:56]#firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources: 
  services: ssh dhcpv6-client
  ports: 80/tcp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
复制代码

端口与服务

复制代码
[root@ztdyyds ~19:27:12]##为指定区域添加服务
[root@ztdyyds ~19:31:15]#firewall-cmd --add-service=http --zone=public
success

[root@ztdyyds ~19:32:00]##为指定区域添加端口
[root@ztdyyds ~19:35:18]#firewall-cmd --add-port=1000/tcp --zone=public
success
[root@ztdyyds ~19:35:55]#

[root@ztdyyds ~19:35:55]##将服务从指定区域移除、
[root@ztdyyds ~19:37:56]#firewall-cmd --remove-service=http --zone=public
success
[root@ztdyyds ~19:39:42]#

[root@ztdyyds ~19:39:42]##将端口从指定区域移除
[root@ztdyyds ~19:40:40]#firewall-cmd --remove-port=1000/tcp --zone=public
success
[root@ztdyyds ~19:41:02]#
复制代码

 

永久模式参数

 

复制代码
[root@ztdyyds ~19:41:02]##永久性添加规则,并未立即生效
[root@ztdyyds ~19:42:07]#firewall-cmd --permanent --zone=public --add-port=80/tcp
Warning: ALREADY_ENABLED: 80:tcp
success
[root@ztdyyds ~19:42:43]#firewall-cmd --permanent --zone=public --add-port=803/tcp
success
[root@ztdyyds ~19:42:55]##此时已经永久的将数据写入了配置文件/etc/firewalld/zones/public.xml,但是需要重新加载才能永久生效
[root@ztdyyds ~19:46:11]#firewall --reload
-bash: firewall: command not found
[root@ztdyyds ~19:46:21]#firewall-cmd --reload
success
[root@ztdyyds ~19:46:34]##此时已经重新加载,并且永久生效
复制代码

 

计划任务crontab

1)计划任务的作用

作用:

操作系统不可能24 小时都有人在操作,有些时候想在指定的时间点去执行任务(例如:每天凌晨 2 点去重新启动Apache),此时不可能真有人每天夜里 2 点去执行命令,这就可以交给计划任务程序去执行操作了。

2)查看计划任务

==语法:# crontab 选项==

常用选项:

==-l:list,列出指定用户的计划任务列表==

==-e:edit,编辑指定用户的计划任务列表,简单来说,计划任务就是一个文件==

-u:user,指定的用户名,如果不指定,则表示当前用户

-r:remove,删除指定用户的计划任务列表

 示例代码

[root@ztdyyds ~19:49:31]##列出当前用户的计划任务列表
[root@ztdyyds ~19:49:37]#crontab  -l
* * * * *  /usr/bin/echo '百日之后,你我终将见到新世界' >> /tmp/hello.txt
[root@ztdyyds ~19:49:49]#

3)编辑计划任务(重点)

进入计划任务编辑文件

[root@yuchao-linux01 ~]# crontab -e


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

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

==分 时 日 月 周 需要执行的命令==

语法

复制代码
取值范围(常识):
分:0~59
时:0~23
日:1~31
月:1~12
周:0~707 表示星期天

四个符号:
*:表示取值范围中的每一个数字
-:做连续区间表达式的,要想表示1~7,则可以写成:1-7
/:表示每多少个,例如:想每 10 分钟一次,则可以在分的位置写:*/10
,:表示多个取值,比如想在 1 点,26 点执行,则可以在时的位置写:1,2,6
复制代码

 

 

 4)扩展

① crontab 权限问题

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

==黑名单==配置文件位于:/etc/cron.deny 里面写用户名,一行只能写一个

==白名单==还有一个配置文件,/etc/cron.allow (本身不存在,自己创建)

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

 

posted @   虎躯常震  阅读(48)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示