自动化selinux以及AWK练习

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

#!/bin/bash

read -p "Please input SElinux statr is start or stop: " SE
SEC=$(sed -rn 's@^SELINUX=(.*)@\1@'p /etc/selinux/config)
if [ $SE == 'start' ];then
        if [ $SEC == 'enforcing' ];then
                echo "Selinux status to enforcing"
        elif [ $SEC == 'disabled' ];then
                sed -ri 's/^SELINUX=(.*)/SELINUX=enforcing/'g /etc/selinux/config && echo "selinux is start"
        fi
elif [ $SE == 'stop' ];then
         if [ $SEC == 'enforcing' ];then
                sed -ri 's/^SELINUX=(.*)/SELINUX=disabled/'g /etc/selinux/config && echo "selinux is stop"
        elif [ $SEC == 'disabled' ];then
                echo "Selinux status to disabled"
        fi
else
        echo "The information you entered is wrong, please re-enter!"
fi

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

grep "^UUID" /etc/fstab |awk '{fs[$3]++}END{for(i in fs){print i,fs[i]}}'
grep "^UUID" /etc/fstab |awk '{print $3}'|sort|uniq -c

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

echo "Yd$C@M05MB%9&Bdh7dq+YVixp3vpw" |awk '{gsub(/[^0-9]/,"",$0);print $0}'

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

#! /bin/bash
TMP=/data/tmp.txt
netstat -ant |awk -F'[ :]+' '/ESTABLISHED/{print $6}'|sort|uniq -c >$TMP

while read line
do
        NUM=`echo $line|awk '{print $1}'`
        IP=`echo $line|awk '{print $2}'`
        if [ $NUM -ge 100 ];then
                iptables -A INPUT -s $IP -j REJECT
        echo "$IP is rejected"
        fi
done <$TMP
*/5 * * * * /usr/bin/bash /data/killDOS.sh
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值