1、编写脚本selinux.sh,实现开启或禁用SELinux功能
#!/bin/bash
#
while read -p "please input 'enable' to enable selinux or 'disable' to disable selinux : " word;do
case $word in
enable)
setenforce 1
sed -ir 's/^SELINUX=.*/SELINUX=enforcing/' /etc/selinux/config
;;
disable)
setenforce 0
sed -ir 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
;;
*)
exit
;;
esac
done
2、统计/etc/fstab文件中每个文件系统类型出现的次数
awk '/^[^#]/{fs[$3]++}END{for(i in fs){print i,fs[i]}}' /etc/fstab
3、提取出字符串Yd$C@M05MB%9&Bdh7dq+YVixp3vpw中的所有数字
echo "Yd$C@M05MB%9&Bdh7dq+YVixp3vpw" | awk '{gsub(/[^0-9]/,"");print $0}'
4、解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT
#!/bin/bash
#
while true;do
ss -tn | awk -F " +|:" '/^[^State]/{ip[$(NF-2)]++}END{for(i in ip){if(ip[i] > 100){print i}}}' > /test/reject_ip
while read ip;do
iptables -A INPUT -s $ip -j REJECT
done < /test/reject_ip
sleep 300
done