第十周运维作业

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

#!/bin/bash
conf="/etc/selinux/config"

case "$1" in
    on)
         sed -ir 's/SELINUX=.*/SELINUX=enforcing/' $conf;;
    off)
         sed -ir 's/SELINUX=.*/SELINUX=disabled/' $conf;;
    *)
         echo "Usage: $0 on|off" ;;

esac

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

 答:

[root@centos7 ~]# grep -iE '^uuid=' /etc/fstab | awk '{print $3}' | uniq -c

 

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

 答:

[root@centos7 ~]# string="Yd$C@M05MB%9&Bdh7dq+YVixp3vpw"

[root@centos7 ~]# echo $string |awk 'gsub(/[^0-9]/," ",$0)'

 

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

答:

#!/bin/bash
ss -nat | sed -rn 's/^([^[:space:]]+).*/\1/p'  |sort |uniq -c > iplist.txt
while read count ip;do
if [ $count -gt 100 ];then
iptables -A INPUT -s $ip -j REJECT
echo from $ip access $count >> crack.log
fi
done < iplist.txt

 

[root@centos7 data]# crontab -e

*/5 * * * * sh /data/dos.sh

 

 

 

posted @ 2020-08-17 09:19  狼牙山  阅读(69)  评论(0编辑  收藏  举报