1忠售、編寫腳本selinux.sh传惠,實現(xiàn)開啟或禁用SELinux功能
#!/bin/bash
confdir=/etc/selinux/config #定義變量
case "$1" in #定義位置變量
on) #$1如果是on則執(zhí)行以下操作
sed -ir 's/^SELINUX=.*/SELINUX=enforcing/' $confdir #使用sed修改配置
echo "Open successfully" #打印開啟成功
;;
off) #$1如果是off則執(zhí)行以下操作
sed -ir 's/^SELINUX=.*/SELINUX=disable/' $confdir #使用sed修改配置
echo "Open successfully" #打印關閉成功
;;
*) #$1如果是其他任意字符則執(zhí)行以下操作
echo "Usage:`basename $0` on|off" #打印提示位置變量為on或off
exit #結(jié)束腳本
2、統(tǒng)計/etc/fstab文件中每個文件系統(tǒng)類型出現(xiàn)的次數(shù)
awk '/^[^#]/{print $3}' /etc/fstab |sort |uniq -c
3稻扬、提取出字符串Yd$C@M05MB%9&Bdh7dq+YVixp3vpw中的所有數(shù)字
echo 'Yd$C@M05MB%9&Bdh7dq+YVixp3vpw'|awk 'gsub(/[^0-9]/,"",$0)'
4卦方、解決DOS攻擊生產(chǎn)案例:根據(jù)web日志或者或者網(wǎng)絡連接數(shù),監(jiān)控當某個IP 并發(fā)連接數(shù)或者短時內(nèi)PV達到100泰佳,即調(diào)用防火墻命令封掉對應的IP盼砍,監(jiān)控頻 率每隔5分鐘。防火墻命令為:iptables -A INPUT -s IP -j REJECT
#!/bin/bash
[ -n "$1" ] || { echo "Usage:`basename $0` file.log";exit 1; } #判斷是否傳有參數(shù)
file=$1 #定義位置變量
while true ; do #定義循環(huán)
awk '{print $1}' $1|grep -v "^$"|sort|uniq -c > /tmp/tmp.log #取出IP計數(shù)與IP
exec < /tmp/tmp.log #while讀入文件
while read line ; do
ip=`echo $line|awk '{print $2}'`
count=`echo $line|awk '{print $1}'`
if [ $count -gt 100 ] && [ `iptables -vnL|grep "$ip"|wc -l` -lt 1 ];then
iptables -A INPUT -s $IP -j REJECT
echo "$ip is rejected" > /tmp/droplist_$(date +%F).log
fi
done
sleep 300 #每分種監(jiān)控一次
done