RHEL 6操作系统初始化的脚本

该脚本主要用来设定IP地址、停用相关服务

#!/bin/bash
clear
declare NetworkName IpAddress NetworkMask NetworkGateway NetworkPro NetworkStart
declare AIpAddress ANetworkMask ANetworkGateway
declare ServiceList ServiceName
declare Path EthFileName SelinuxConfig
Path="/etc/sysconfig/network-scripts/ifcfg-"
SelinuxConfig="/etc/selinux/config"
#initialization variable
echo " Operation System Initial Script "
echo “--------------------------------------------------------”
echo " RedHat Linux Server Enterprise edtion V6.5 "
echo “--------------------------------------------------------”
echo " "
echo " "
echo “----------------Config Network variable-----------------”
echo “Please input Network Adapter Nanme:”
read NetworkName
declare Flags=0
declare AAdapter
declare Adapter
declare FFlags=0
AAdapter=ip addr |grep "^[0-9]" |cut -f 2 -d ":" |xargs
for Adapter in $AAdapter
do
if [ $NetworkName == $Adapter ]
then
Flags=1
fi
done
if [ $Flags -eq F F l a g s ] t h e n e c h o " N e t w o r k I n t e r f a c e D o N o t U s e d " e x i t f i E t h F i l e N a m e = FFlags ] then echo "Network Interface Do Not Used" exit fi EthFileName= FFlags]thenecho"NetworkInterfaceDoNotUsed"exitfiEthFileName=Path$NetworkName
echo “--------------------------------------------------------”
echo “Please Input IP Address:”
read IpAddress
echo “--------------------------------------------------------”
echo “Please Input Network Mask:”
read NetworkMask
echo “--------------------------------------------------------”
echo “Please Input Network Gateway:(Default Null)”
read NetworkGateway
echo “--------------------------------------------------------”
echo “Please Imput Network Protocol(dhcp or static):”
read NetworkPro
echo “--------------------------------------------------------”
echo “Please Input Start (yes or no):”
read NetworkStart
echo “--------------------------------------------------------”
echo “Please Input turn off Services:”
read ServiceList
echo “--------------------------------------------------------”
#Change network Config File
/bin/grep “^IPADDR” $EthFileName >> /dev/null 2>&1
if [ ? − e q 1 ] t h e n / b i n / s e d − i ′ ? -eq 1 ] then /bin/sed -i ' ?eq1]then/bin/sedia\IPADDR=’$IpAddress $EthFileName
else
echo “IP Address Exits!”
fi
/bin/grep “^NETMASK” $EthFileName >> /dev/null 2>&1
if [ ? − e q 1 ] t h e n / b i n / s e d − i ′ ? -eq 1 ] then /bin/sed -i ' ?eq1]then/bin/sedia\NETMASK=’$NetworkMask $EthFileName
else
echo “Network Mask Exits!”
fi
/bin/grep “^GATEWAY” $EthFileName >> /dev/null 2>&1
if [ ? − e q 1 ] t h e n / b i n / s e d − i ′ ? -eq 1 ] then /bin/sed -i ' ?eq1]then/bin/sedia\GATEWAY=’$NetworkGateway E t h F i l e N a m e e l s e e c h o " G a t e w a y E x i t s ! " f i / b i n / s e d − i ′ s / B O O T P R O T O = d h c p / B O O T P R O T O = ′ EthFileName else echo "Gateway Exits!" fi /bin/sed -i 's/BOOTPROTO=dhcp/BOOTPROTO=' EthFileNameelseecho"GatewayExits!"fi/bin/sedis/BOOTPROTO=dhcp/BOOTPROTO=NetworkPro’/g’ E t h F i l e N a m e / b i n / s e d − i ′ s / O N B O O T = n o / O N B O O T = ′ EthFileName /bin/sed -i 's/ONBOOT=no/ONBOOT=' EthFileName/bin/sedis/ONBOOT=no/ONBOOT=NetworkStart’/g’ $EthFileName
#Turn off service
for ServiceName in $ServiceList
do
service $ServiceName stop >> /dev/null 2>&1
sleep 3
done
#disable service
for ServiceName in $ServiceList
do
declare Counter=0
declare Sequence=1
declare Level
declare Counter1=0
declare Max=7
while [ $Counter -lt M a x ] d o l e t S e q u e n c e = " Max ] do let Sequence=" Max]doletSequence="Sequence + 1"
Level=chkconfig |grep $ServiceName |cut -f $Sequence -d ":" |cut -f 1
if [ L e v e l = = " o f f " ] t h e n l e t C o u n t e r 1 = " Level == "off" ] then let Counter1=" Level=="off"]thenletCounter1="Counter1 + 1"
fi
let Counter="$Counter + 1"
done
if [ $Counter1 -ne $Max ]
then
chkconfig --level 0123456 KaTeX parse error: Expected 'EOF', got '&' at position 32: …>> /dev/null 2>&̲1 echo "ServiceName Disable secussfull!"
else
echo “$ServiceName Exist Disabled!”
fi
done
#Restart network service
service network restart >> /dev/null 2>&1
sleep 3
#audit network config
AIpAddress=ifconfig $NetworkName |grep "inet addr" |cut -f 2 -d ":"|cut -f 1 -d " "
ANetworkMask=ifconfig $NetworkName |grep "inet addr" |cut -f 4 -d ":"
ANetworkGateway=netstat -nr |grep "^0.0.0.0" |awk '{print $2}'
if [ $AIpAddress == $IpAddress ]
then
echo “IP Address Audit sucessfull!”
else
echo “ERROR:IP Address Audit failed!”
fi
if [ $ANetworkMask == $NetworkMask ]
then
echo “Network Mask Audit sucessfull!”
else
echo “ERROR:Network Mask Audit failed!”
fi
if [ $ANetworkGateway == $NetworkGateway ]
then
echo “Network Gateway Audit sucessfull!”
else
echo “ERROR:Network Gateway Audit failed!”
fi
#Turn off selinux
/bin/grep “^SELINUX=disabled” $SelinuxConfig >> /dev/null 2>&1
if [ $? -eq 1 ]
then
/bin/sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ $SelinuxConfig
else
echo “Selinux Exits Disabled!”
fi
echo “--------------------------------------------------------”
echo " Scripts Run Sucessfull! "
echo “--------------------------------------------------------”
exit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值