马哥Linux第十周

2020-04-24  本文已影响0人  Liang_JC

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

#!/bin/bash

if [ -n "$1" ];then
        if [[ "$1" =~ [o|O][f|F][f|F] ]];then
                sed -i 's/^SELINUX=.*/SELINUX=disabled/p' /etc/sysconfig/selinux
        elif [[ "$1" =~ [o|O][n|N]  ]];then
                sed -i 's/^SELINUX=.*/SELINUX=enforcing/p' /etc/sysconfig/selinux
        fi
else
        echo "Usage: $0 on|off"
fi

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

[root@localhost ~]# awk '!/^#/ && $3!=""{fs[$3]++}END{for(i in fs){print i,"\t"fs[i]}}' /etc/fstab
swap    1
xfs     3

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

[root@localhost ~]# echo "Yd$C@M05MB%9&Bdh7dq+YVixp3vpw" | awk 'gsub(/[^[:digit:]]/,"",$0)'
05973

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

[root@localhost ~]# crontab -e
5/* * * * * ss -nt | awk -F " +|:" '/^ESTAB/{ip[$(NF-2)]++}END{for(i in ip)if(ip[i]>=100)system("iptables -A INPUT -s i -j REJECT")}' 
上一篇下一篇

猜你喜欢

热点阅读