1、编写脚本selinux.sh,实现开启或禁用SELinux功能
#!/bin/bash
ON=enforcing
OFF=disabled
while read -p "请输入$ON 或者$OFF:" NAME;do
if [[ $NAME == $ON ]];then
sed -ri "s/^(SELINUX=).*/\1$NAME/" /etc/selinux/config
echo "SELINUX已开启"
break
elif [[ $NAME == $OFF ]];then
sed -ri "s/^(SELINUX=).*/\1$NAME/" /etc/selinux/config
echo "SELINUX已关闭"
break
else
echo -e "输入指令错误"
fi
done
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]/,"")'
4、解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT
#!/bin/bash
file_log=/root/ss.log
file_host=/root/host.log
warning=10
awk -F " +|:" '/^ESTAB/{print $(NF-2)}' $file_log |sort -nr |uniq -c >$file_host
while read line;do
num=`echo $line |awk '{print $1}'`
ip=`echo $line |awk '{print $2}'`
if [ $num -gt $warning -a `iptables -nL |grep -wc $ip` -eq 0 ];then
iptables -A INPUT -s $ip -j REJECT
fi
done <$file_host