1、编写脚本 selinux.sh,实现开启或禁用 SELinux 功能
- 脚本
#!/bin/bash
if [ $# -eq 0 ];then
echo 请输入参数,ON 为启用,OFF为禁用。
elif [[ $1 =~ [Oo][Nn] ]];then
sed -i "s/^SELINUX=[[:alpha:]].*/SELINUX=enforcing/" /etc/selinux/config
echo SELinux 已启用,重启后生效。
elif [[ $1 =~ [Oo][Ff][Ff] ]];then
sed -i "s/^SELINUX=[[:alpha:]].*/SELINUX=disabled/" /etc/selinux/config
echo SELinux 已禁用,重启后生效。
else
echo 参数错误,未做任何设置。
fi
- 执行
# 授权
[root@centos7 ~]# chmod +x selinux.sh
# 启用
[root@centos7 ~]# ./selinux.sh on
SELinux 已启用,重启后生效。
# 禁用
[root@centos7 ~]# ./selinux.sh off
SELinux 已禁用,重启后生效。
2、统计 /etc/fstab 文件中每个文件系统类型出现的次数
[root@centos7 ~]# awk '/^UUID/{fs[$3]++}END{for(i in fs){print i,fs[i]}}' /etc/fstab
swap 1
xfs 2
3、提取出字符串 Yd$C@M05MB%9&Bdh7dq+YVixp3vpw 中的所有数字
[root@centos7 ~]# echo "Yd$C@M05MB%9&Bdh7dq+YVixp3vpw" | awk '{gsub(/[^0-9]/,"",$0);print $0}'
05973
4、解决 DOS 攻击生产案例:根据 web 日志或者或者网络连接数,监控当某个 IP 并发连接数或者短时内 PV 达到 100,即调用防火墙命令封掉对应的 IP,监控频率每隔 5 分钟。防火墙命令为:iptables -A INPUT -s IP -j REJECT
- 脚本 /root/dos.sh
#!/bin/bash
ss -nt | awk -F " +|:" '{ip[$6]++}END{for(i in ip){if(ip[i]>100){system("iptables -A INPUT -s "i" -j REJECT")}}}'
- 任务计划
# 授权
[root@centos7 ~]# chmod+x /root/dos.sh
# 设置
[root@centos7 ~]# crontab
*/5 * * * * /bin/bash /root/dos.sh
# 查看
[root@centos7 ~]# crontab -l
*/10 * * * * /bin/bash /root/dos.sh
1822

被折叠的 条评论
为什么被折叠?



