1、编写脚本selinux.sh,实现开启或禁用SELinux功能
2、统计/etc/fstab文件中每个文件系统类型出现的次数
3、提取出字符串Yd$C@M05MB%9&Bdh7dq+YVixp3vpw中的所有数字
4、解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT
1、编写脚本selinux.sh,实现开启或禁用SELinux功能
#!/bin/bash
[ -f /etc/init.d/functions ] && . /etc/init.d/functions
[ $UID -ne 0 ] && echo "this script must root run it" && exit 1
[ $# -ne 1 ] && echo "Usage:bash $0 <off|on>" && exit 2
if [ "$1" = "on" ];then
sed -i 's@^SELINUX=.*@SELINUX=enforcing@g' /etc/selinux/config
[ $? -eq 0 ] && action "selinux config on " /bin/true
/sbin/setenforce 1
elif [ "$1" = "off" ];then
sed -i 's@^SELINUX=.*@SELINUX=disabled@g' /etc/selinux/config
[ $? -eq 0 ] && action "selinux config off " /bin/true
/sbin/setenforce 0
else
echo "argv error , please input <on|off>"
exit 3
fi
2、统计/etc/fstab文件中每个文件系统类型出现的次数
# awk '/^UUID*/{filetype[$3]++}END{for(i in filetype){print i,filetype[i]}}' /etc/fstab
3、提取出字符串Yd$C@M05MB%9&Bdh7dq+YVixp3vpw中的所有数字
# echo "yd$C@M05MB%9&Bdh7dq+yVixp3vpw" | awk 'gsub(/[^[:digit:]]/," ",$0)'
4、解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT
#!/bin/bash
whiletrue
do
awk '{print $1}'access.log | grep-v"^$" | sort | uniq-c > /tmp/tmp.log
exec < /tmp/tmp.log
whilereadline
do
ip=`echo $link | awk'{print $2}'`
count=`echo$line|awk'{print $1}'`
if[ $count -gt 5 ] && [ `iptables -L -n|grep"$ip"|wc-l` -lt 1 ]
then
iptables -A INPUT -s $ip -j REJECT
echo"$line is dropped">>/tmp/droplist.log
fi
done
sleep5
done