一、编写脚本,实现开启或禁用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
















