共两个script,要放到/etc目录下.;.
第一个Lin.ux-netcfg: 女人
#!/bin/sh
#
# Ne.tCfg for RedHat Linux 8.0 configuration..服务器
# .Version 1.01 Cr.eated by Atom 2004/7/14学习
# Design .for changing gateway, ho.stname, domainname, DNS, IP, netmask .easier.教育
# If you. have any cha.nge for it, please tell me:
Haitao07@hotmail.com 杀毒
#
trap 'echo "Contr.ol-C is disabled. please press X to exit" .; sleep 1' 2
#
echo "Initial.izing . . ."虚拟主机
# Source f.unction lib.rary.
. /etc/fu.nc-netcfg 鲜花
#--------Variable .declare area-------------------------.------------------.-----------------------(广告)
. eval i.pnew1="192.168.232.128"( 游戏 )
eval netmasknew1=".255..255.255.0" 外汇
gatewaynew="192.16.8.23.2.1"服务器
hostnamenew=."Linux"--------------彩票
. domainnamenew="atom.co.m" 美容
dns1new="1.92.1.68.232.128".
dns2new=".202.99.8.1"电脑
dns3new="211.1.00.2.130".
modified="F.alse" 鲜花
# gatew.ay hostname domainname DNS .IP netmask NIC-status.
#
net_get
#
#---.-----Variabl.e declare area END.--------------------------------------------.------------------(广告)
#----------.-.----START From Here----------------(广告)
temp=`w | .awk .'BEGIN { loginn = 0 } { if ( $1 == "sysadm.in" ) { loginn ++ } } END { if ( loginn >;= 2 ) { print "TRUE" } }'` 鲜花
i.f [ "${temp}" ]; then外贸
clear
echo " . . . FF".
echo
echo "Th.ere is .another sysadmin online"投资
echo "No synchr.onic login for sy.sadmin is allowed".
sleep 5
else
mainmenu
fi
#-------------.The End.-----------.-----.
===========.==================.===================.
第二个:func-netc.fg 婚庆
# -*-Shell-script.-*-( 游戏 )
#
# This file is not a stand-alone shell scrip.t.; it provides functions<性病>
# to linux-net.cfg scripts that s.ource it. 乙肝
####func1 Give a Notice "ress ENTER to continue. . ."http://upload.bbs.csuboy.com/Mon_1004/126_6863_4f4b5a14d6d2379.gif[/img]--- 印刷
####func2:# gateway hostna.me domainname DNS IP net.mask NIC-status--- 印刷
####fu.nc3:Notice modify IP, Not check input .validity 不进行输入合法验证(广告)
####func4:Notice modify. netmask, Not chec.k input validity.
####func5:Sub me.nu for Mo.dify IP 健康
####func6.:Notic.e modify gateway, Not check input validity.
####func7:Notice modi.fy hostname, Not check .input validity电影
####func8:Notice modify domainname, .Not check input. validity服务器
####func9:su.b menu for Mo.dify DNS 外汇
####func10:Notice. modify domainna.me DNS, Not check input validity 杀毒
####.func11:Mo.dify sysadmin's password(广告)
####func1.2:Notice modify DNS, Not check inp.ut validity.
####func13:sa.ve&exit 杀毒
####func14:Main. menu投资
#
# Se.t up a default sea.rch path. 外汇
PATH.="/sbin:/usr/sbin:/bin:/usr/bin:/usr/X.11R6/bin".
export PATH
#---.--function des.ign:----------------------------------------学习
####func1 Give a Notice "ress ENTER to continue. . ."http://upload.bbs.csuboy.com/Mon_1004/126_6863_4f4b5a14d6d2379.gif[/img] 杀毒
pressenter() {
echo -n "ress ENTER to continue. . ."http://upload.bbs.csuboy.com/Mon_1004/126_6863_4f4b5a14d6d2379.gif[/img].
read temp
}
####f.unc2:# gateway hostname domainname DNS IP n.etmask NIC-status.
net_get() {
gateway=`netstat -rn | .gre.p UG | awk '{print $2}'` 建材
ga.tewaynew=$gateway 美容
hostname="`h.ostname`" 婚庆
hostn.amenew=$hostname电影
domainname="`cat /etc/resolv.conf | grep domain | awk '{prin.t $2}.'`"虚拟主机
domain.namenew=$doma.inname 美容
.#GET nameserver123.
set `ca.t /etc/resolv.conf | grep nameserver | awk '{print $2}'`.健康
i="1"
for DNS; do
eval dns.${i}="${DNS}" 外汇
i="`expr ${.i} + 1`" 建材
done
dn.s1new=$dns1.
dns2ne.w=$dns2学习
d.ns3new=$dns3.
set `ifconfig|grep Ether.|awk '{print. $1}'`( 游戏 )
network._ifs=""[成人用品]
for. interface; do健康
network_ifs.="${network_ifs} ${interface.}".
done
ifnum="0"
for network_if in. ${net.work_ifs}; do 建材
ifnum=".`expr ${ifnum}. + 1`"; 健康
. e.val nic${ifnum}="${network_if}" 婚庆
parsedipmask="`ifconfig. ${network_if} | grep .inet | grep -v inet.6 | awk '{strlen=length($2);strsub=substr(.$2,6,strlen-5);printf(".%s ",strsub);strlen=length($4);strsub=substr($4,6,strlen-5);printf("%s",strsub)}'`"教育
i="1"
if [ "${p.arsedipmask}" ].; then健康
. for fiel.d in $parsedipmask; do学习
c.ase ${i} in--------------彩票
1)
eval ip${ifnum}=${..field} 女人
;;
2)
. eval .netmask${ifnum}=${field}域名
;;
esac
i="`.exp.r ${i} + 1`" 鲜花
done
fi
eval linkstat${ifn.um}="U.P" 电子
.#eval echo "\$ip${ifnum}\ \$.netmask${ifnum}\ \$linkstat${ifnum}"虚拟主机
. #eval echo "\$nic${ifnum}\ \$linkstat${ifnum}\ \ \$ip${ifnum}\ . \$netmask${i.fnum}" 汽车
#read temp
done
i="1"
whi..le [ "${i}" -le "${ifnum}" ]; do.
eval lin.kstatnew${i}="\$linkstat$.{i}"教育
eval ipnew${.i}.="\$ip${i}" 健康
eval netmasknew$.{i}="\$netma.sk${i}" 美容
i="`expr ${i} + 1`.".
done
}
####func3:提示修改IP:不进.行输入合法.验证<性病>
ip_ch() {
temp=""
. whil.e [ ! "${temp}" ]; do 杀毒
eval echo -n "Input new IP of \$nic$.{1}:\ ." 女人
read temp
if [ ! "${.t.emp}" ]; then 电子
eval .echo ."Not changed." 建材
break
fi
. .eval ipnew${1}=${temp}健康
m.odified="TRUE" 汽车
done
}
####f.unc4:提示修改netma.sk:不进行输入合法验证--- 印刷
netmask_ch() {
temp=""
while [ ! ."${tem.p}" ]; do.
eval ech.o -n "Input new netmask of \$nic${1}.:\ "外贸
read temp
if [ ! "$.{temp}" ]; then. 鲜花
eval e.cho "N.ot changed.".
sleep 1
break
fi
eval ne..tmasknew${1}=${temp}( 游戏 )
mod.ified="TRUE".
done
}
####f.unc5:提示修改IP的子菜单<性病>
ip_menu() {
while : ;do
clear
echo "${i.fnum}"外贸
echo " . . Network Menu "服务器
echo "
Network .Interface .Selection 乙肝
NIC link-stat.e IP net.mask".
i="1"
while .[ ".${i}" -le "${ifnum}" ]; do.
eval echo "${i}.\ \$nic${i}\ . \$linkstat.${i}\ . \ \$ip${i}\ \$netmask${i}".
e.val echo "\ \ New setting:\ \$linkstatnew${i}\ \ . \$.ipnew${i}\ \$netmasknew${i}"学习
echo
. i="`expr ${i} + 1`"(广告)
done
echo -n "
. r. reset .all ip/netmask setting.
x. Main .menu虚拟主机
.Your select: " 美容
read ifn
t.emp="`echo ${ifn} | sed s/[a-zA.-Z0-9]//g`".
if [ "${temp.}" ]; the.n服务器
ifn="FA.LSE" 婚庆
fi
case $.{ifn} in 婚庆
[1-9])
if [ "${ifn}" -gt ".0" -a "${ifn}" -le "${i.fnum}" ]; then 婚庆
. ip_ch ${ifn}.
netmask_ch $.{ifn}.
fi
;;
"r"http://upload.bbs.csuboy.com/Mon_1004/126_6863_94b8e503d334f2e.gif[/img]电脑
echo -n "re..set all IP/netmask setting(y/N)? "[成人用品]
read yN
case ."${yN}" in 汽车
[Yy])
i="1"
. while [ "${i.}" -le "${ifnum}" ]; do服务器
. eval ipnew${i}="\$ip${.i}"( 游戏 )
eval netmas.knew${i}=."\$netmask${i}"
i="`expr $.{i} .+ 1`" 婚庆
done
;;
esac
;;
"x"http://upload.bbs.csuboy.com/Mon_1004/126_6863_94b8e503d334f2e.gif[/img] 建材
break
;;
esac
done
}
####f.unc6:提.示修改gateway:不进行输入合法验证.
gateway_ch() {
temp=""
while [ !. "${temp}" ]; d.o域名
echo -n "In.put. new gateway: ".
read temp
if [. ! "${te.mp}" ]; then--- 印刷
gatewaynew="${gat.eway}."电脑
echo "C.anceled.".
sleep 1
break
fi
gatewaynew="${temp}".虚拟主机
. modified="TRUE" 外汇
done
}
####func7:提.示修改hostname:不进行输入合法验.证电脑
hostname_ch() .{教育
temp=""
while. [ ! "${temp}" ]; d.o( 游戏 )
. . echo -n "Input new hostname: "域名
read temp
. if [ ! ."${temp}" ]; then<性病>
hos.tnamenew=$hostn.ame 外汇
echo "Ca.nceled."投资
sleep 1
break
fi
hostname.new="${temp}".
mo.dified="TRUE".
done
}
####func.8:提示修改domainnam.e:不进行输入合法验证[成人用品]
doma.inname_ch() {.
temp=""
while [ ! "$.{temp}" ]; .do电脑
echo. -n "Input. new domain name: "(广告)
read temp
if [ ! "${.temp}" ]; t.hen电脑
do.mainnamenew=$domainname. 汽车
.echo "Canceled."--------------彩票
sleep 1
break
fi
dom.ainnamene.w="${temp}" 外汇
modi.fied="TRUE" 健康
done
}
####func9.:提示修改DNS子菜单
dns_menu() {
dnsn=""
while [ "$dns.n" != ."x" ]; do 外汇
clear
echo -n " . . DNS Menu 学习
"
echo -n "
CURRENT .. NEW 建材
1. DNS Server 1 ($dns1) . . ($dns1new)虚拟主机
.2. DNS Server 2 ($dns2) . ($dns2new).
3.. DNS. Server 3 ($dns3) ($dns3new)域名
. r. re.set all dns setting.
x. M.ain menu.
Yo.ur select: "(广告)
read dnsn
t.emp="`echo ${dnsn} | sed s/[a-zA-Z0-9]/./g`" 健康
if [ "${.temp}" ];. then 美容
. dnsn="FALSE" 建材
fi
case "${d.nsn}" in服务器
"1"http://upload.bbs.csuboy.com/Mon_1004/126_6863_94b8e503d334f2e.gif[/img]投资
dns_ch 1
;;
"2"http://upload.bbs.csuboy.com/Mon_1004/126_6863_94b8e503d334f2e.gif[/img]电脑
dns_ch 2
if [ !. "${dns1}" -a ! "${dns1n.ew}" ]; then.
dns1new=".${.dns2new}"
dn.s2new=""服务器
echo "Name Ser.ver 1 is empty, I will use this for Name S.erver 1"--- 印刷
. pressenter 乙肝
fi
;;
"3"http://upload.bbs.csuboy.com/Mon_1004/126_6863_94b8e503d334f2e.gif[/img].
dns_ch 3
. if [ ! "$.{dns1}" -a ! "${dns1new}" ]; then.
dns1ne.w="${dns.3new}"投资
dns3n.ew=""投资
ech.o ".Name Server 1 is empty, I will use this for Name Server 1"电脑
. pressenter 婚庆
elif [ ! "${d.ns2}" -a ! "${.dns2new}" ]; then 汽车
dns2.new="${d.ns3new}".
dns3new="."--- 印刷
echo ".Name Server 2 is empty, I will use this f.or Name Server 2"--- 印刷
p.ressenter 健康
fi
;;
"r"http://upload.bbs.csuboy.com/Mon_1004/126_6863_94b8e503d334f2e.gif[/img][成人用品]
echo. -n "reset a.ll dns setting(y/N)? " 美容
read yN
case "${yN}". in 乙肝
[Yy])
. dns1new=$dns1.
. dns2new=$dns2 外汇
. dns3new=$dns3.
;;
esac
;;
esac
done
}
####func1.0:提示修改DNS:不进行输入合法验证. 建材
dns_ch() {
temp=""
while. [ ! "${.temp}" ]; do.
. echo -n ."Input new dns IP: ".
read temp
. if [ ! "${temp}" ].; then 婚庆
echo -.n "Clear .DNS ${1} (y/N)? "( 游戏 )
read yN
case "${yN}". in学习
[Yy])
. .eval dns${1}new=""<性病>
. modified="TRUE"域名
break
;;
*)
ev.al dns${1.}new="\$dns${1}".
echo "Can.celed."服务器
slee.p 1
break
;;
esac
fi
ev.al dns${1}new="${.temp}"投资
mod.ified="TRUE" 杀毒
dnsnew.="MODIFIED" 杀毒
done
}
####func.11:修改sysadmin的密码 婚庆
pass.word_ch() { 鲜花
/usr/bi.n./passwd sysadmin 乙肝
modifi.ed="TRUE" 建材
sleep 1
}
####func12:提示修改.DNS:不进行输入合.法验证.
resetall() {
eval ipnew1.="1.92.168.232.128"(广告)
e.val netmasknew1="255.255.255..0" 汽车
gatewayne.w="192.168..232.1"电影
hostnamene.w="Linux"投资
. d.omainnamenew="atom.com"教育
dns1new="19.2.168.2.32.128" 建材
dns2n.ew="202.99.8.1".
dns3new="211.10.0.2.130"健康
modified="Tr.ue"虚拟主机
}
####func13.:执行保存并退出--------------彩票
saveexit() {
#gateway
selection="x."健康
if [ "${gatewaynew}" != "${gateway.}." ]; then.
echo .-n "Def.ault Gateway. . ." 乙肝
cat /.etc/sysconfig/network | sed s/^GATEWAY=.*/GATEWAY="${gatewaynew.}"/ >; /etc/sysconf.ig/network.new教育
mv -f ./etc/sysconfig/network.new /etc./sysconfig/network.
. restart="TRUE".
echo "OK"
fi
#dns
if [ "${dns1new}" != "${dn.s.1}" -o ."${dns2new}" != "${dns2}" -o "${dns3new}" != "${dns3}" ]; then 乙肝
echo. -n "DNS . . ."外贸
c.at /etc/resolv.conf | grep -v "nameserver" >; ${tmpdir}resolv.conf.new.电影
if [ "${dns1new}." .]; then[成人用品]
echo ".nameserver .${dns1new}" >;>; ${tmpdir}resolv.conf.new 外汇
fi
if .[ "${dns2new}" ]; .then域名
echo "nameserver ${dns.2new}" >;>; ${tmpdir}resolv..conf.new 乙肝
fi
if [ "$.{dn.s3new}" ]; then.
echo "nameserver ${.dns3.new}" >;>; ${tmpdir}resolv.conf.new 外汇
fi
mv -f ${tmpdir}resolv.conf.n.ew /etc/re.solv.conf.
echo "OK"
fi
#ip/netmask
i="1"
while [ "${i}" -le ."${ifnu.m}" ]; do 美容
. eval iface="\$nic.${i}" 婚庆
. eval ipne.w="\$ipnew${i}".
eval ipo.ld="\$ip${i}"电影
eval mas.k.new="\$netmasknew${i}" 美容
e.val .maskold="\$netmask${i}"电脑
eval tmpdir="/etc/s.ysco.nfig/network-scripts".
if [ "${ipnew}" != .."${ipold}" -o "${masknew}" != "${maskold}" ]; then 婚庆
echo -n "Configuring ${iface}. . . .."投资
ifconfig ${iface} ${ipnew} netmas.k ${ma.sknew} .
eval cat ${tmpdir}/.ifcfg-${iface} | sed -e 's./^IPADDR=..*/IPADDR='"${ipnew}"'/' \ 鲜花
. . . -e 's/^NETMASK=.*/NETMASK='"${masknew}"'/' \电影
. -e 's/^BROADC.AST=.*/BROADCAST=/' \电影
. -e 's/^NETWORK=.*./NETWORK=/' >; ${.tmpdir}/ifcfg-${iface}.new 建材
cat /etc/hosts | grep -v "${ipold}" .>; /etc/hos.ts.new.
eval echo "${ipnew}\ \ ${hostnamenew}\.${d.om.ainnamen.ew}\ ${hostnamenew}" >;>; /etc/hosts.new[成人用品]
mv -f ${.tmpdir}/ifcfg-${iface}.new ${tmpdir}/ifcfg-${.iface}<性病>
mv -f /et.c/hosts..new /etc/hosts域名
. restart="TRUE"学习
. echo "OK"( 游戏 )
fi
i=."`expr ${i} + 1`"学习
done
#hostname
if [ "${hostnamenew}" != "${host.name}" ]; the.n.
echo -n "hostn.ame . .. ." 婚庆
hostna.me ${.hostnamenew}域名
cat /etc/sysco.nfig/netw.ork | sed s/^HOSTNAME=.*/HOSTNAME="${hostnamenew}."/ >; /etc/sysconfig/network.new.
..cat /etc/hosts | sed s/"${hostname}"/"${hostnamenew}"/g >; /.etc/hosts.new电脑
mv -f /etc/sysconfig/.network.new /etc./sysconfig/network 建材
mv -f /etc/hosts.ne.w /.etc/hosts[成人用品]
restar.t="TRUE"
echo "OK"
fi
#domain
if [ "${domainnamenew}" != "$.{d.omainname}" ]; then.
. echo. -n "Domain Name . . ." 健康
domainname $..{domainnamenew}.
cat /etc/resolv.conf | .sed s/^domain.*/domain "${domainnam.enew}"/ >; /.etc/resolv.conf.new 建材
cat /etc/hosts | sed s/"${domain..name}"/"${domainname.new}"/g >; /etc/hosts.new(广告)
mv -f /etc/resolv.conf.new /.etc/resol.v.conf教育
mv .-f /etc/hosts.new /etc./hosts 女人
restart=".TRUE" 美容
echo "OK"
fi
#net.work restart.
/etc/init.d/n.etwork. restart.
exit
}
###.#func14:程序主菜单 乙肝
mainmenu() {
while. [ "$selection" != "x" ]; d.o 女人
selection=.""(广告)
clear
echo -n. " Main menu .
"
echo "
CURRENT . . NEW 健康
. 1. IP/netmask[成人用品]
2. default gateway($gatew.ay) . ($gatewaynew)--------------彩票
3. hostname ($hostna.me) . ($hostnamenew) 电子
4. domai.n name. ($domainname) ($domainnamenew).
5. DNS
.r. all to default--------------彩票
. s. save and exit域名
x. ex.it withou.t saving<性病>
. Your select: ".
.read selection虚拟主机
temp="`echo ${selection} | sed s/[a.-zA-Z0-9]//g`." 建材
if [ "${tem.p.}" ]; then 美容
select.ion="FALSE".
fi
. case ".${selection}" in<性病>
"1"http://upload.bbs.csuboy.com/Mon_1004/126_6863_94b8e503d334f2e.gif[/img] 女人
ip_menu
;;
"2"http://upload.bbs.csuboy.com/Mon_1004/126_6863_94b8e503d334f2e.gif[/img].
gatewa.y_ch.
;;
"3"http://upload.bbs.csuboy.com/Mon_1004/126_6863_94b8e503d334f2e.gif[/img].
hostname_.ch<性病>
;;
"4"http://upload.bbs.csuboy.com/Mon_1004/126_6863_94b8e503d334f2e.gif[/img]
domainname._ch
;;
"5")
dns_menu
;;
"r")
echo "This will reset all network setting to factory .default.."学习
echo -.n "Are you sure(y/.N)? ".
read yN
. case "${yN}" in--- 印刷
[Yy])
. resetall 外汇
;;
esac
;;
"s")
.echo -n "save. and exit(y/N)? " 汽车
read yN
case "$.{yN}" in.
[Yy])
.saveexit 乙肝
;;
esac
;;
esac
done
}
#-----function E.ND:----.---------------------------------------(广告)