第十周(2020-08-16)

1、编写脚本selinux.sh,实现开启或禁用SELinux功能

vim selinux.sh

case $1 in

on)

        sed -i 's@^SELINUX=.*@SELINUX=enforcing@' /etc/selinux/config

        ;;

off)

        sed -i 's@^SELINUX=.*@SELINUX=disabled@' /etc/selinux/config

        ;;

*)

        echo "Usage: $0 on|off"

esac


2、统计/etc/fstab文件中每个文件系统类型出现的次数

awk '/^UUID/{print $3}' /etc/fstab |uniq -c


3、提取出字符串Yd$C@M05MB%9&Bdh7dq+YVixp3vpw中的所有数字

echo 'Yd$C@M05MB%9&Bdh7dq+YVixp3vpw'|awk 'gsub(/[^0-9]/,"",$0)'

或者:echo 'Yd$C@M05MB%9&Bdh7dq+YVixp3vpw' | awk -F'[^[:digit:]]+' '{print $2$3$4$5}'


4、解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT

[root@centos7 ~]#vim check.sh

#!/bin/bash

IPLIST=$( awk -F" " '{ip[$1]++}END{for(i in ip){print i,ip[i]}}' access_log |awk '{if($2>500)print $1}')

for ip in $IPLIST

do

        iptables -I INPUT -s $ip -j DROP     

        echo "$ip is drop!"

done

[root@centos7 ~]# crontab  -e

*/5* * * *  /root/checkip.sh

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。