cron周期性计划任务用来定期执行程序,目前最主要的用途是定期备份数据
软件包名:cronie、crontabs
服务名:crond
日志文件:/var/log/cron
*** * * * * 执行的命令**
分 时 日 月 周
分钟:从0到59之间的整数
小时:从0到23之间的整数
日期:从1到31之间的整数
月份:从1到12之间的整数
星期:0~6之间的整数,0代表周日
***** #每分,每时,每天,每月,每周
, #分隔多个不连续的时间
- #指定连续时间范围
/ #指定执行任务的时间间隔
#软件包默认系统自动安装 [root@localhost ~]# rpm -q cronie cronie-1.4.11-19.el7.x86_64 #服务默认随机自启 [root@localhost ~]# systemctl status crond #cron定义时间格式 * * * * * 执行的命令 分 时 日 月 周 分钟:从0到59之间的整数 小时:从0到23之间的整数 日期:从1到31之间的整数 月份:从1到12之间的整数 星期:0~6之间的整数,0代表周日 * #每分,每时,每天,每月,每周 , #分隔多个不连续的时间 - #指定连续时间范围 / #指定执行任务的时间间隔 #每周5在上8点执行一个任务 00 8 * * 5 xx命令 #每天晚上23:30执行一个任务 30 23 * * * xx命令 #日期跟星期不能同时定义,发生矛盾(没有这么定义的!) 30 23 1 * 2 xx命令 #每月1号23:30分执行一个任务 30 23 1 * * xx命令 #每月1、3、5号23:30执行一个任务 30 23 1,3,5 * * xx命令 #每周1、3、5凌晨3点执行一个任务 00 3 * * 1,3,5 xx命令 #每月2-5号凌晨3:30分执行一个任务 30 3 2-5 * * xx命令 #每两小时执行一个任务 * */2 * * * xx命令 #每两分钟执行一个任务 */2 * * * * xx命令
crontab:用于管理计划任务
crontab -e -u 用户名 #编写计划任务
crontab -l -u 用户名 #查看计划任务
crontab -r -u 用户名 #清楚计划任务
#每一分钟执行一个任务 [root@localhost ~]# crontab -e */1 * * * * date >> /opt/date.txt [root@localhost ~]# cat /opt/date.txt 2021年 05月 23日 星期日 17:30:02 CST #每周6凌晨3:30分备份/var/log/日志文件 [root@localhost ~]# crontab -e 30 3 * * 6 tar -czf `date +%F`-log.tar.gz /var/log/*.log #查看计划任务 [root@localhost ~]# crontab -l 30 3 * * 6 tar -czf `date +%F`-log.tar.gz /var/log/*.log #清除计划任务 [root@localhost ~]# crontab -r [root@localhost ~]# crontab -l no crontab for root
Security-Enhanced Linux 美国NSA国家安全局主导开发,一套增强Linux系统安全的强制访问控制体系
集成到Linux内核(2.6及以上)针对用户、进程、目录和文件提供了预设的保护策略,以及管理工具
SELinux运行模式
enforcing #强制模式
permissive #宽松模式
disabled #禁用模式
SELinux运行模式切换
查看当前运行模式:getenforce
临时切换运行模式:setenforce 1|0 #1强制模式,0宽松模式
#查看当前运行模式 [root@localhost ~]# getenforce Enforcing #默认为强制模式 #切换运行模式为宽松模式 [root@localhost ~]# setenforce 0 [root@localhost ~]# getenforce Permissive #切换运行模式为强制模式 [root@localhost ~]# setenforce 1 [root@localhost ~]# getenforce Enforcing
#永久修改运行模式 [root@localhost ~]# vim /etc/selinux/config ... SELINUX=disabled
#安装httpd与vsftpd服务 [root@localhost ~]# rpm -q httpd httpd-2.4.6-88.el7.centos.x86_64 [root@localhost ~]# rpm -q vsftpd vsftpd-3.0.2-25.el7.x86_64 #启动服务 [root@localhost ~]# systemctl start httpd [root@localhost ~]# systemctl start vsftpd #查看运行状态 [root@localhost ~]# systemctl status httpd [root@localhost ~]# systemctl status vsftpd #关闭防火墙 [root@localhost ~]# systemctl stop firewalld
http:超文本传输协议(明文协议) 默认端口:80 httpd默认走的http协议
https:安全的超文本传输协议 默认端口:443 加密网站
ftp:文件传输协议 默认端口:20(数据端口)21(命令端口****)
tftp:简单的文件传输协议 默认端口:69
DNS:域名解析协议 默认端口:53
ssh:远程连接协议 默认端口:22
telnet:远程管理协议 默认端口:23
smtp:用户发邮件协议 默认端口:25
pop3:用户收邮件协议 默认端口:110
/etc/services 文件记录协议及端口信息
防火墙分为硬件防火墙和软件防火墙
系统服务:firewalld,CentOS7系统默认使用的防火墙,CentOS6系统默认使用的防火强iptables
防火墙:匹配即停止
管理工具:firewalld-cmd
防火墙预设安全区域
public:仅允许访问本机的sshd、DHCP、ping等少量服务
trusted:允许任何访问
单独允许某一个IP 是写入trust
block:拒绝任何来访请求
drop:丢弃任何来访的数据包
#开启防火墙 [root@localhost ~]# systemctl start firewalld #查看默认区域 [root@localhost ~]# firewall-cmd --get-default-zone public #修改默认区域 firewall-cmd --set-default-zone=区域名 #将默认区域修改为block [root@localhost ~]# firewall-cmd --set-default-zone=block success [root@localhost ~]# firewall-cmd --get-default-zone block #将默认区域修改为dorp [root@localhost ~]# firewall-cmd --set-default-zone=drop success [root@localhost ~]# firewall-cmd --get-default-zone drop #将默认区域修改为public [root@localhost ~]# firewall-cmd --set-default-zone=public success [root@localhost ~]# firewall-cmd --get-default-zone public #查看区域规则 firewall-cmd --zone=区域名 --list-all #查看public所有规则 [root@localhost ~]# firewall-cmd --zone=public --list-all public (active) target: default #默认区域 icmp-block-inversion: no interfaces: ens32 sources: services: ssh dhcpv6-client #允许访问的服务 ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: #为public区域添加http协议,使用 --add-service=服务名 [root@localhost ~]# firewall-cmd --zone=public --add-service=http success [root@localhost ~]# firewall-cmd --zone=public --list-all public (active) target: default icmp-block-inversion: no interfaces: ens32 sources: services: ssh dhcpv6-client http #添加http协议 ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: #为public添加ftp协议 [root@localhost ~]# firewall-cmd --zone=public --add-service=ftp success [root@localhost ~]# firewall-cmd --zone=public --list-all public (active) target: default icmp-block-inversion: no interfaces: ens32 sources: services: ssh dhcpv6-client http ftp #添加ftp协议 ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
#若针对永久配置需添加 --permanent #使用 -- add-source=网段地址 #为public区域永久添加http协议 [root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=http success [root@localhost ~]# firewall-cmd --zone=public --list-all public (active) target: default icmp-block-inversion: no interfaces: ens32 sources: services: ssh dhcpv6-client http ftp ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: #为public区域永久添加ftp协议 [root@localhost ~]# firewall-cmd --permanent --zone=public --add-service=ftp success [root@localhost ~]# firewall-cmd --zone=public --list-all public (active) target: default icmp-block-inversion: no interfaces: ens32 sources: services: ssh dhcpv6-client http ftp ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: #永久修改需重新加载防火墙配置 firewall-cmd --reload [root@localhost ~]# firewall-cmd --reload success #单独拒绝某一个IP [root@localhost ~]# firewall-cmd --zone=block --add-source=192.168.0.24 success [root@localhost ~]# firewall-cmd --zone=block --list-all block (active) target: %%REJECT%% icmp-block-inversion: no interfaces: sources: 192.168.0.24 services: ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: #删除规则:--remove-source #删除block区域的指定IP [root@localhost ~]# firewall-cmd --zone=block --remove-source=192.168.0.24 success [root@localhost ~]# firewall-cmd --zone=block --list-all block #删除public区域的ftp协议 [root@localhost ~]# firewall-cmd --zone=public --remove-service=ftp success [root@localhost ~]# firewall-cmd --zone=public --list-all public (active) target: default icmp-block-inversion: no interfaces: ens32 sources: services: ssh dhcpv6-client http
#当有人访问5432端口时,映射到本机的80端口 [root@localhost ~]# firewall-cmd --zone=public --add-forward-port=port=5432:proto=tcp:toport=80 success #命令解释: --add--forward #添加转发端口 port=port=5432 #指定转发的端口 proto=tcp #指定tcp协议 toport=80 #指定目标端口 [root@localhost ~]# firewall-cmd --zone=public --list-all public (active) target: default icmp-block-inversion: no interfaces: ens32 sources: services: ssh dhcpv6-client http ports: protocols: masquerade: no forward-ports: port=5432:proto=tcp:toport=80:toaddr= source-ports: icmp-blocks: rich rules: