通过sed -i ,通过准备好的sh脚本,来设置linux iptable白名单

通过准备好的sh脚本,来设置linux iptable白名单

特定字符串的行前插入新行

sed -i ‘/特定字符串/i 新行字符串‘ file
#!/bin/bash
del_stdin_buf()
{
    read -d ‘‘ -t 0.1
}
echo "Setting https enabled for remote access...."

https_port=`grep ‘dport 443‘ /etc/sysconfig/iptables | wc -l`
if [ $https_port -eq 0 ]
then
     sed -i "/-A INPUT -j REJECT --reject-with icmp-host-prohibited/i -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT" /etc/sysconfig/iptables
fi
http_port=`grep ‘dport 80‘ /etc/sysconfig/iptables | wc -l`
if [ $http_port -eq 0 ]
then
     sed -i "/-A INPUT -j REJECT --reject-with icmp-host-prohibited/i -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT" /etc/sysconfig/iptables
fi
service iptables restart
echo "Done."

原文地址:https://www.cnblogs.com/xiaoliu66007/p/11059723.html

时间: 2024-10-07 14:51:25

通过sed -i ,通过准备好的sh脚本,来设置linux iptable白名单的相关文章

sh脚本的dos和unix

最近集群迁移,新给的客户端执行sh,报错,找到了一篇很好的文章:http://blog.chinaunix.net/uid-20621895-id-196639.html 虽然很简单,但是之前都不知道这些查看命令,学习了: 在执行shell脚本时提示这样的错误主要是由于shell脚本文件是dos格式,即每一行结尾以\r\n来标识,而unix格式的文件行尾则以\n来标识.  查看脚本文件是dos格式还是unix格式的几种办法.(1)cat -A filename  从显示结果可以判断,dos格式的

dos下编辑过sh脚本后无法运行

情景: 同样的的脚本,在不同的机器下运行有的可以成功,有的运行失败, 前提:sh脚本windos下编辑过. 脚本在windows上修改之后,在每行尾部多了个 ^M,导致sh脚本在执行的时候可能shbang解析不了,导致脚本执行不了 报错 Syntax error: "(" unexpected (expecting "then") 语法解析错误 解决: 在Linux查看^M,需要使用如下命令: vim下 :e ++ff=unix % 去掉^M的方法: 1.在 Vim

为微信小程序开发做准备,在Centos 6.8下利用letsencrypt.sh脚本为nginx 配置免费https证书

原文链接: http://phpecshop.blog.51cto.com/6296699/1891737 最近在做微信小程序商城开发的时候,阅读官方api文档发现要求https,的路程. wx.request(OBJECT) wx.request发起的是 HTTPS 请求. 于是开始了在Centos 6.8下利用letsencrypt.sh脚本为nginx 配置免费https(Let's Encrypt SSL证书) 1.下载letsencrypt.sh # wget https://raw.

安装GRID时跑root.sh脚本报错(ORA-27091: unable to queue I/O)

在安装GRID过程中,运行root.sh脚本时报如下信息: Adding Clusterware entries to upstart CRS-2672: Attempting to start 'ora.mdnsd' on 'rac11g1' CRS-2676: Start of 'ora.mdnsd' on 'rac11g1' succeeded CRS-2672: Attempting to start 'ora.gpnpd' on 'rac11g1' CRS-2676: Start of

MySQL MHA之 master_ip_failover.sh脚本

master_ip_failover.sh脚本是用perl编写的,可以在mha-manager源码包中可以找到,下面给出的结合keepalived进行自动切换的脚本: [[email protected] scripts]# cat master_ip_failover.sh#!/usr/bin/env perl#  Copyright (C) 2011 DeNA Co.,Ltd.##  This program is free software; you can redistribute it

inotify.sh脚本范例

inotify.sh脚本范例 [[email protected] ~]# cat /server/scripts/inotify.sh#!/bin/bash#parahost01=192.168.1.111src=/dingjiandst=dingjianuser=rsync_backuprsync_passfile=/etc/rsync.passwordinotify_home=/usr/local/inotify-tools-3.14/ #judgeif [ ! -e "$src"

Linux crontab的使用方式,sh脚本的编写,sh脚本自动启动tomcat服务器,sh监控系统运行情况

1.如果想使用Linux crontab(类似java quartz),需要先启动crontab.关于crontab的启动.关闭.重启.重新载入配置的方式如下: /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 2.crontab的命令介绍: A:添加crontab的命令是:c

linux第一个C语言和sh脚本

linux第一个C语言 $ gedit hello_world.c #include <stdio.h> int main(void) { printf("hello world!\n"); return 0; } 保存后使用 gcc 生成可执行文件: $ gcc -o hello_world hello_world.c gcc 生成二进制文件默认具有可执行权限,不需要修改 ,然后直接执行即可 linux 第一个sh脚本文件 先创建脚本文件:gedit hello_shel

rac_进行grid自检时提示运行runfixup.sh脚本一例

原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明下面出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlong/article/details/40779253 环境:CentOS 6.4 64bit.grid 64bit.oracle11g 64bit 简述: 安装grid之前,手工进行环境检验,例如以下提示须要运行runfixup.sh脚本,下面将此 过程展现例如以下: [[email protected]