预习内容
10.19 iptables规则备份和恢复
10.20 firewalld的9个zone
10.21 firewalld关于zone的操作
10.22 firewalld关于service的操作
10.23 linux任务计划cron
10.24 chkconfig工具
10.25 systemd管理服务
10.26 unit介绍
10.27 target介绍
扩展
firewalld自定义iptables规则 https://blog.51cto.com/jevic/1785162
提供一个iptables系列文章的博客 https://www.zsythink.net/archives/tag/iptables/page/2/
anacron https://www.jianshu.com/p/3009a9b7d024?from=timeline
systemd自定义启动脚本 http://www.jb51.net/article/100457.htm
iptables规则备份和还原
把规则保存到配置文件/etc/syscofnig/iptables中
service iptables save
iptables-save >my.ipt 将规则备份到指定文件
iptables-restore <my.ipt 恢复备份的规则
firewalld的9个zone
firewall-cmd --get-zones查看所有的zone
firewall-cmd --get-default-zone查看默认zone,默认zone是public
firewall-cmd --set-default -zone=work 设定默认zone
firewall-cmd --get-zone-of-interface=ens33 查看指定网卡zone
firewall-cmd --zone=public --add-interface=lo 给指定网卡设置zone
firewall-cmd --zone=dmz --change-interface=lo更改指定网卡的zone
firewall-cmd -zone=dmz --remove-interface=lo 删除指定网卡的zone
firewall-cmd --get-active-zones 查看系统所有网卡的zone
firewalld中关于service的操作
firewall-cmd --get-services 查看所有的service
firewall-cmd --list-services 查看当前zone下有哪些service
firewall-cmd --zone=public --list-services 列出指定zone下的服务
firewall-cmd --zone=public --add-service=http 将http服务加到public zone下
firewall-cmd --zone=public --remove-service=http 将http服务从public zone下移除
/usr/lib/firewalld/zones/ zone的配置文件模版
/usr/lib/firewalld/services/ service的配置文件模版
firewalled-cmd --zone=public --add-service=http --permanent
将http服务加到public zone下,并保存到配置文件中
zone配置文件地址 /etc/firewalld/zones
service配置文件地址 /etc/firewalld/services/
需求:ftp服务自定义端口1121,在work zone中下放行ftp
cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services/
vi /etc/firewalld/services/ftp.xml 把端口改为1121
cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/
vi /etc/firewalld/zones/work.xml 增加一行
firewall-cmd --reload 重新加载
firewall-cmd --zone=work --list-services 查看work zone下的服务
linux任务计划
任务计划配置文件 /etc/crontab
每个用户创建的定时任务在 /var/spool/cron/此目录下以用户名命名,如果需要备份可以直接复制此文件即可。
crontab选项
-l 查看任务计划
-e 创建定时任务
-r 删除
-u 指定用户
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
crontab -e编辑任务计划
0 3 * * * /bin/bash /usrlocal/123.sh >>/usrlocal/123.log 2>>/usrlocal/123.log
系统服务管理-chkconfig
服务存放在 /etc/init.d/
chkconfig --list
等级0表示:表示关机
等级1表示:单用户模式
等级2表示:无网络连接的多用户命令行模式
等级3表示:有网络连接的多用户命令行模式
等级4表示:不可用
等级5表示:带图形界面的多用户模式
等级6表示:重新启动
chkconfig --level 3 network off 将network服务第3级关闭
chkconfig --level 345 network off 将network服务第3、4、5级关闭
chkconfig --del network 删除network服务
chkconfig --add network
系统服务管理-systemd
systemctl list-unit-files 列出所有unit
systemctl list-units --all --type=service ,如果不加all,inactice的的service不会打印出来
systemctl enable crond 开机启动服务
systemctl disable crond 开机不启动服务
status 查看状态
stop 停止服务
start 启动服务
restart 重启服务
is-enabled 检查服务是否开机启动
Systemd由一个叫做单元(Unit)的概念,它保存了服务、设备、挂载点和操作系统其他信息的配置文件,并能够处理不同单元之间的依赖关系。大部分单元都静态的定义在单元文件中,也有一些是动态生成的。单元有多种状态:
处于活动的则是(active),当前正在运行
停止的则是(inactive),当前已经停止
启动中的则是(activing),当前正在启动
停止中的则是(deactiving),当前正在停止
失败的则是(failed)状态,意思说单元启动过程中遇到错误比如找不到文件、路径或者进程运行中崩溃了等。
unit相关命令
systemctl list-units 列出正在运行的unit
systemctl list-units --all 列出所有的,包括失败的或者inactive
systemctl list-units --all --state=inactive 列出inactive的unit
systemctl list-units --type=service 列出状态为active的service
systemctl is-active iptables 查看服务是否为active
系统所有unit的文件位置 /usr/lib/systemd/system 一共有11种类型:
service 系统服务
target 多个unit组成的组
device 硬件设备
mount 文件系统挂载点
automount 自动挂载点
path 文件或路径
scope 不是由systemd启动的外部进程
slice 进程组
snapshot systemd快照
socket 进程间通信套接字
swap swap文件
timer 定时器
target
系统为了方便管理用target来管理unit
一个service属于一种类型的unit,多个unit组成一个target,一个target包含多个service
systemctl list-unit-files --type=target 查看系统中的target
systemctl list-dependencies multi-user.target 查看指定target下有哪些unit
systemctl get-default 查看系统默认的target
systemctl set-default multi-user.target 设置默认target
课堂笔记
firewall-cmd --add-port=80/tcp
firewall-cmd --permanent --add-port=80/tcp; firewall-cmd --reload
firewall-cmd --permanent --add-service=http; firewall-cmd --reload
https://blog.51cto.com/jevic/1785162
服务器启动顺序: