1.编写脚本selinux.sh,实现开启或禁用SELINUX功能
#!/bin/bash
while read ip user password;do
expect <<EOF
set timeout 20
spawn ssh $user@$ip
expect {
"yes/no" { send "yes\n";exp_continue }
"password" { send "$password\n" }
}
expect "]#" { send "sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config\n" }
expect "]#" { send "exit\n" }
expect eof
EOF
done < user.txt
2.统计/etc/fstab文件中每个文件系统类型出现的次数
awk '/UUID/{print $3}' /etc/fstab |sort|uniq -c
3.提取出字符串Yd$C@M05MB%9&Bdh7dq+YVixp3vpw中的所有数字
echo "Yd$C@M05MB%9&Bdh7dq+YVixp3vpw"|awk 'gsub(/[^0-9]/,"")'
4.解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当某个IP 并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频 率每隔5分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT
1.创建脚本
vim /home/script/checkip.sh
#!/bin/bash
#找出连接数大于100的ip
ip1=`ss -nt | awk -F' +|:' '{ip[$(NF-2)]++}END{for(i in ip){if(ip[i]>100)print i}}'`
for i in $ip1;do
#查看防火墙里是否已存在禁用ip
itc=`iptables -nL | grep REJECT|grep -wc $i`
if [ "$itc" -eq 0 ];then
iptables -A INPUT -s $i -j REJECT
fi
done
2.创建定时任务
crontab -e
*/5 * * * * /bin/bash /home/script/checkip.sh