1、编写脚本selinux.sh,实现开启或禁用SELinux功能
#1.创建脚本selinux.sh
#vim selinux.sh
#!/bin/bash
echo "=============================================="
echo " input 1 is disabled : input 2 is enforcing "
echo "=============================================="
read -p "please input you number: " NUM
case $NUM in
1)
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
;;
2)
sed -i 's#SELINUX=disabled#SELINUX=enforcing#g' /etc/selinux/config
;;
*)
echo "input fasle!"
esac
2、统计/etc/fstab文件中每个文件系统类型出现的次数
#利用awk文本处理工具进行处理获取对应的值
awk -F " " '/^UUID/{sys[$(NF-3)]++}END{for(i in sys)print i,sys[i]}' /etc/fstab
3、提取出字符串Yd$C@M05MB%9&Bdh7dq+YVixp3vpw中的所有数字
1. 将Yd$C@M05MB%9&Bdh7dq+YVixp3vpw 存在a.txt 中
2. 利用gsub 进行字符串过滤
3. awk 'gsub(/[^0-9]/,"",$0)' a.txt
#gsub 用法:
#gsub(r,s,t) 将t文本中的r内容替换成s指定的内容,gsub 替换的是全部,而不是第一次。类似于sed 的
sed 's///g'的效果
4、解决DOS攻击生产案例:根据web日志或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT
1.编写脚本network.sh
awk -F " +|:" '/^ESTAB/{ip[$(NF-2)]++}END{for(i in ip);if(ip[i] > 100);then iptables -A INPUT -s ip[i] -j REJECT}' ss.log
2.crontab -e 创建计划任务
#每隔五分钟就监控一次
5 * * * * /bin/bash /data/network.sh