shell脚本判断linux系统,并判断该系统版本号,从而关闭防火墙
#!/bin/bash# author:qushenfunction kill_redhat_firewall(){source ~/.bashrcsystemver=`cat /etc/redhat-release|sed -r 's/.* ([0-9]+)\..*/\1/'`echo $systemverif [[ $systemver = "6" ]];thenecho "当前是Centos
·
#!/bin/bash
# author:qushen
function kill_redhat_firewall(){
source ~/.bashrc
systemver=`cat /etc/redhat-release|sed -r 's/.* ([0-9]+)\..*/\1/'`
echo $systemver
if [[ $systemver = "6" ]];then
echo "当前是Centos6系统,禁用防火墙"
service iptables stop
chkconfig iptables off
else
echo "当前是Centos7系统,禁用防火墙"
systemctl disable firewalld
systemctl stop firewalld
fi
}
function kill_ubuntu_firewall(){
source ~/.bashrc
release_num=$(lsb_release -r --short)
release_os=$(lsb_release -i --short)
echo "当前是${release_os},系统为:${release_num}"
sudo ufw disable
}
function kill_unknown_firewall(){
source ~/.bashrc
echo "当前是未知,无法禁用防火墙,请手动禁用!"
}
# 识别linux为ubantu还是redhat
if [ -f /etc/os-release ]; then
source /etc/os-release
fi
if [ -f /etc/redhat-release ]; then
echo "redhat_enable_cron" kill_redhat_firewall
elif [[ $ID =~ "Ubuntu" || $PRETTY_NAME =~ "Ubuntu" ]]; then
echo "ubuntu_enable_cron" kill_ubuntu_firewall
elif [[ $lsb =~ "Debian" || $PRETTY_NAME =~ "Debian" ]]; then
echo "debian_enable_cron" kill_unknown_firewall
elif [[ $lsb =~ "SUSE" || $PRETTY_NAME =~ "SUSE" ]]; then
echo "suse_enable_cron" kill_unknown_firewall
elif [[ $lsb =~ "NeoKylin" || $PRETTY_NAME =~ "NeoKylin" ]]; then
echo "中标麒麟:redhat_enable_cron" kill_redhat_firewall
elif [[ $lsb =~ "Kylin" || $PRETTY_NAME =~ "Kylin" ]]; then
echo "银河麒麟:ubuntu_enable_cron" kill_ubuntu_firewall
else
echo "Warn: Bypass system check"
fi
更多推荐
已为社区贡献8条内容
所有评论(0)