该脚本主要用来设定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/sed−i′a\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/sed−i′a\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/sed−i′a\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/sed−i′s/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/sed−i′s/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