一、编写脚本,实现开启或禁用SELinux功能。

#!/bin/bash
disable_selinux(){
    sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
    setenforce 0
    echo "SElinux已禁用。"
    exit 
}

enable_selinux(){
    sed -i.bak 's/SELINUX=disabled/SELINUX=enforcing/' /etc/selinux/config
    echo "SElinux已启用,重启后生效。"
    exit
}

PS3="请选择相应的编号(1-3):"
MENU='
禁用SELinux
启用SElinux
退出
'
select M in $MENU ;do 
case $REPLY in
1)
    disable_selinux
    ;;  
2)
    enable_selinux
    ;;  
3)
    echo 您已退出
    break
    ;;  
*)
    echo 请输入正确的选项
    ;;  
esac
done

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

[root@centos8 ~]# awk '/^UUID/{fstab[$3]++}END{for(i in fstab) {print i,fstab[i]}}' /etc/fstab
swap 1
ext4 1
xfs 2

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

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

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

1、编写脚本。

#!/bin/bash
LINK=100
ss -nt | awk -F"[[:space:]]+|:" '/^ESTAB/{print $(NF-2)}'|sort |uniq - c|while read count ip;do 
if [ $count -gt $LINK ];then
    iptables -A INPUT -s $ip -j REJECT
fi
done

2、添加执行权限并计入计划任务。

[root@centos8 ~]#chmod +x ddos.sh
[root@centos8 ~]#crontab -e
[root@centos8 ~]#crontab -l 
*/10 * * * *   /root/ddos.sh