自动开关selinux脚本、awk练习

1、编写脚本selinux.sh,实现开启或禁用SELinux功能

read -p "please input character set selinux for {start|stop} :" SE
SEC=$(sed -rn 's@^SELINUX=(.*)@\1@'p /etc/selinux/config)
if [ $SE == 'start' ];then
	if [ $SEC == 'enforcing' ];then
    		echo "selinux current status is enforcing"
	elif [ $SEC == 'disabled' ];then
    		sed -ri 's@^SELINUX=(.*)@SELINUX=enforcing@' /etc/selinux/config && echo "selinux start succeed"
	fi
elif [ $SE == 'stop' ];then
    	if [ $SEC == 'disabled' ];then
         	echo "selinux current status is disabled"
    	elif [ $SEC == 'enforcing' ];then
         	sed -ri 's@^SELINUX=(.*)@SELINUX=disabled@' /etc/selinux/config && echo "selinux stop succeed"
    	fi
fi

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

grep "^[(UUID)|/]" /etc/fstab | awk -F" " '{print $3}' | uniq -c

cat /etc/fstab | awk '/^UUID/{sys[$3]++}END{for(i in sys){print i,sys[i]}}'

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

crontab -l
*/5 * * * * /root/bin/deny.sh $> /dev/null
cat deny.sh
awk '{ip[$1]++}END{for(i in ip) {if(ip[i]>99){system("iptables -A INPUT -s "i" -j REJECT")}}}' /var/log/httpd/access_log
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值