马哥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")}'