一、编写脚本selinux.sh,实现开启或禁用SELinux功能linux
[root@centos7 ~]# cat selinux.sh #!/bin/bash set -ue [ $# -ne 1 ] && echo "usage:`basename $0` 0|1" && exit 10; if [ $1 -eq 0 ] then setenforce $1 echo "diable selinux finished" elif [ $1 -eq 1 ] then setenforce $1 echo "enable selinux finished" else echo "usage:`basename $0` 0|1" fi
[root@centos7 ~]# cat selinux.sh #!/bin/bash set -ue [ $# -ne 1 ] && echo "usage:`basename $0` 0|1" && exit 10; if [ $1 -eq 0 ] then sed -i.bak 's/SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux elif [ $1 -eq 1 ] then sed -i.bak 's/SELINUX=disabled/SELINUX=enforcing/' /etc/sysconfig/selinux else echo "usage:`basename $0` 0|1" fi
重启系统生效web
[root@centos7 ~]#reboot
二、统计/etc/fstab文件中每一个文件系统类型出现的次数centos
[root@centos7 ~]# awk '/^[^#]/{type[$3]++}END{for(i in type) {print i,type[i]}}' /etc/fstab swap 1 xfs 2
三、提取出字符串Yd$C@M05MB%9&Bdh7dq+YVixp3vpw中的全部数字bash
[root@centos7 ~]# echo "Yd$C@M05MB%9&Bdh7dq+YVixp3vpw" |tr -dc '[0-9]\n' 05973 [root@centos7 ~]#
四、解决DOS生产案例:根据web日志或者或者网络链接数,监控当某个IP 并发链接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT网络
[root@centos7 ~]# crontab -l */5 * * * * sh /root/monitor.sh >/dev/null [root@centos7 ~]# cat monitor.sh #!/bin/bash ip_num=`ss -t |awk -F [" ":]+ '/ESTAB/{ip[$6]++}END{for (i in ip) {print i,ip[i]}}'` echo ${ip_num} |while read ip num do if [ $num -gt 10 ];then iptables -A INPUT -s $ip -j REJECT fi done