day16
1.firewalld的主要概念
区域
一个zone就是一套过滤规则,数据包必须要经过某个zone才能入站或出站。可以把zone看作是一个个出站或入站必须经过的安检门,有的严格、有的宽松、有的检查的细致、有的检查的粗略。
常规的区域及其相应策略规则
运行模式和永久模式
运行模式:此模式下,配置的防火墙策略立即生效,但是不写入配置文件,重新加载防火墙后该策略失效
永久模式:此模式下,配置的防火墙策略写入配置文件,不会立即生效需要reload重新加载才能生效。
2.firewalld防火墙的配置
管理防火墙服务常见命令
systemctl start firewalld 开启防火墙
systemctl stop firewalld 停止防火墙
systemctl status firewalld 检查防火墙运行状态
systemctl restart firewalld 重启防火墙
systemctl disable firewalld 禁止防火墙开机自启(这个防火墙不好用,建议直接永久禁用)
管理firewall配置
命令:firewall-cmd
作用:管理firewall具体配置
语法:#firewall-cmd [参数选项1] ....[参数选项n]
常用选项:
列出区域模板,以及具体的信息
[root@localhost~]# firewall-cmd --list-all-zones
列出所有的区域的名字
[root@localhost ~]# firewall-cmd --get-zones
查看当前的public区域,以及其详细信息
[root@localhost ~]# firewall-cmd --list-all
快速运行一个80端口服务的py语法
python -m SimpleHTTPServer 80
注意临时生效和永久保存
[root@localhost ~]# firewall-cmd --zone=public --add-service=http
success
[root@localhost ~]#
这个是临时添加一个服务,重新加载防火墙后就失效了
[root@localhost ~]# firewall-cmd --permanent --add-service=http
success
[root@localhost ~]# cat /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="ssh"/>
<service name="dhcpv6-client"/>
<service name="http"/>
</zone>
[root@localhost ~]#
[root@localhost ~]# firewall-cmd --list-all
public
target: default
icmp-block-inversion: no
interfaces:
sources:
services: ssh dhcpv6-client http
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
这个是将添加的服务写入到防火墙的配置文件中永久保存,重启防火墙后永久生效
定时任务,crontab
定时任务的作用
服务器每时每刻都在有人访问,但后台不可能一直有人都在维护,这时就需要设置定时任务来在固定的时间去执行对应的操作,从而保持服务器的正常运行。
语法
crontab
-l 列出当前用户有哪些计划任务
-e 编辑当前用户的计划任务
-r 删除当前用户的计划任务
-u 指定的用户名,如果不指定,则表示当前用户
* * * * *
分 时 日 月 周 命令的绝对路径
取值范围:
分:0~59
时:0~23
日:1~31
月:1~12
周:0~7,0 和 7 表示星期天
四个符号:
*:表示取值范围中的每一个数字
-:做连续区间表达式的,要想表示1~7,则可以写成:1-7
/:表示每多少个,想每 10 分钟一次,则可以在分的位置写:*/10
,:表示多个取值,比如想在 1 点,2 点 6 点执行,则可以在时的位置写:1,2,6
查看定时任务
[root@yuchao-linux01 ~]# crontab -l
定时任务写入后,会自动记录到一个文件中,文件路径在如下路径,以用户名区分,不同的定时任务
[root@localhost ~]# ls /var/spool/cron/
root
一张图清楚定时任务怎么玩
定时命令实战练习
每隔2个月的周六,夜里2点30 去见网友
30 2 * */2 6
工作日的工作时间内(一个早9晚9,996的程序员工作日)的每小时整点执行脚本。
* 9-21 * * 1-6
每周3的下午4点15分执行命令
15 4 * * 3
每隔两天的上午8点到11点的第3和第15分钟执行一次重启
3,15 8,11 */2 * *
每个星期6、7日的1:45 重启java后端
45 1 * * 6,7
5 4 * * 6 /var/www/test.sh
每周六4点5分执行一次
40 8 * * * /var/www/test.sh
每天的8点40执行一次
31 10-23/2 * * * /var/www/test.sh
每天的10-23点每隔两个小时的31分执行一次
0 2 * * 1-5 /var/www/test.sh
每周一到周五的2点整执行一次
0 8,9 * * 1-5 /var/www/test.sh
每周一到周五的8点和9点整执行一次
0 10,16 * * * /var/www/test.sh
每天的10点和16点整执行一次
关于定时任务的黑白名单
文件路径
/etc/cron.deny 黑名单文件
/etc/cron.allow 白名单 ,优先级高于黑名单 (系统默认所有人都是可以创建定时任务的,如果将某个用户加入到空白的白名单中,可能导致其他用户无法创建定时任务。)
定时任务,服务端的运行日志文件目录
/var/log/cron
定时任务会在系统中,生成大量的邮件日志,会占用磁盘,永久禁用该服务即可
查找邮件服务的路径
[root@yuchao-linux01 ~]# find / -type f -name 'post*.service'
/usr/lib/systemd/system/postfix.service
systemctl服务管理命令
[root@yuchao-linux01 ~]# systemctl list-units |grep post
postfix.service loaded active running Postfix Mail Transport Agent
查看邮件服务运行状态
systemctl status postfix
停止邮件服务运行
systemctl stop postfix
禁止开机自启
systemctl disable postfix
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术