firewalld才是centos7上的防火墙机器
之前的操作中我是打开了iptables服务,现在我们先关闭iptables服务,打开firewalld服务。
systemctl disable iptables
systemctl stop iptables
systemctl enable firewalld
systemctl start firewalld
iptables -nvL 查看默认规则
firewalld的9个zone(默认zeno为public)
查看所有zone
firewall-cmd --get-zones
查看默认的zone
firewall-cmd --get-default-zone
firewalld关于zone的操作
1.设置默认的zone
firewall-cmd --set-default-zone=work
2.查看指定网卡的zone
firewall-cmd --get-zone-of-interface=ens33
如果我们新增的网卡没有zone怎么办?
方法一:(使网卡的zone自动变为默认zone)
(1)复制一份配置文件:
cp /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-ens3
(2)修改配置文件
(3)重启网络服务:systemctl restart network.service
(4)重新加载firewalld服务:systemctl restart firewalld
方法二:(给指定网卡添加指定的zone)
firewall-cmd --zone=public --add-interface=ens37
针对网卡更改zone:(改为block)
firewall-cmd --zone=block --change-interface=ens37
针对网卡删除zone:
firewall-cmd --zone=block --remove-interface=ens37
查看系统所有网卡所在的zone
firewall-cmd --get-active-zones
firewalld关于service的操作
firewalld的9种zone之所以不同是因为不同的zone都有不同的service,而service就是真的一个服务(端口)做的iptables规则。
查看所有的servies:
firewall-cmd --get-services
查看当前zone下游哪些service
firewall-cmd --list-services ( firewall-cmd --list-service)
查看指定的zone下有什么service:
firewall-cmd --zone=public --list-services
把http增加到public zone下面:
firewall-cmd --zone=public --add-service=http
此时的zone的服务仅仅是增加在内存里,要想增加到配置文件中需要加一个选项--permanent
zone的服务增加到配置文件中
更改配置文件
firewall-cmd --zone=public --add-service=ftp --permanent
zone的配置文件模板:
ls /usr/lib/firewalld/zones/
ls /usr/lib/firewalld/servics/
需求:ftp服务自定义端口1121,需要在work zone下面放行ftp
(使用配置文件方法操作)
1.复制
cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services/
2.编辑:vim /etc/firewalld/services/ftp.xml
3.复制:
cp /usr/lib/firewalld/zones/work.xml /etc/firewalld/zones/
4.编辑:vim /etc/firewalld/zones/work.xml
增加一行内容 <service name="ftp"/>
5.重新加载:firewall-cmd --reload
此时我们已经完成在work zone下放行ftp
Linux 任务计划 cron
任务计划的配置文件: /etc/crontab
(图中:MAILTO 表示发送任务计划给谁)
crontab:
-u:表示指定某个用户,不加-u则为当前用户
-e :表示制定计划任务(进入到编辑模式)
-l :列出计划任务
-r: 删除计划任务
进入编辑模式 : crontab -e
(编写任务计划crond服务是如果执行一个bash/命令,写它的绝对路径)
指定执行范围:
(
分范围0-59,时范围0-23,日范围1-31,月范围1-12,周1-7
可用格式1-5表示一个范围1到5
可用格式1,2,3表示1或者2或者3
可用格式*/2表示被2整除的数字,比如小时,那就是每隔2小时)
表示每天凌晨3点 每个月1-20号 每年的双月,每周的星期2、5去运行任务。
编写完任务需要启动crond这个服务需要执行:
systemctl start crond
检查是否启动成功:
方法一:ps aux |grep cron
方法二:systemctl status crond
(停止crond 启动:systemctl stop crond )
( 要保证服务是启动状态
systemctl start crond.service)
制定一个计划:
crontab -l (列出计划任务)
crontab文件在哪里呢?
/var/spool/cron
(查看root用户的crontab文件。
如果查看其他用户的crontab文件: cat /var/spool/cron/用户名)
备份计划任务:cp /var/spool/cron/用户名 /绝对路径/
cp /var/spool/cron/root /tmp/cansheng/root.bk
Linux系统服务管理-chkconfig
chkconfig工具
(在centos7之前都是用chkconfig工具的,但是在centos7后也能用,但是不作为里面的工具)
查看当前有哪些系统服务使用chkconfig工具:
chkconfig --list
(此时只有netconsole和network服务了)
netconsole和network服务所在处?
/etc/init.d
把一个服务状态做变更:
chkconfig network off
chkconfig network on
指定某级别的状态:关闭/开启
chkconfig --level 3 network off
chkconfig --level 235 network off (切记不要把0和6开启)
修改配置文件,更改运行级别:vi /etc/inittab (在centos7已经是不使用)
把一个自定义的脚本加入到我们的服务列表:(例如自定义脚本名为:123)
1.进入到 /etc/init.d文件中
2.把自定义脚本(123)放到 /etc/init.d 下(mv/cp)
3.chkconfig --add 123
4.查看是否加进来了:chkconfig --list
自定义的脚本名字可以自定义,但是内容有格式:
1.首先是个shell脚本;
2.
删除自定义的服务:chkconfig --del 123
systemd管理服务
Linux系统服务管理-systemd
查看系统所有的service:
systemctl list-units --all --type=service
提示命令:
几个常用的服务相关的命令:
(1)让服务开机启动
systemctl enable crond.service (.service可以省略)
(2)不让开机启动
systemctl disable crond.service (.service可以省略)disable表示开机不再启动
( 3 )查看状态:
systemctl status crond
(4)停止服务
systemctl stop crond
(5)启动服务
systemctl start crond
(6)重启服务
systemctl restart crond
(7)检查服务是否开机启动:
systemctl is-enabled crond
原文地址:http://blog.51cto.com/13589255/2084043