1 | #!/bin/sh
|
---|
2 | #
|
---|
3 | #
|
---|
4 | # Sample post-nuke script by Hugo Rabson <hugorabson@msn.com>
|
---|
5 | #
|
---|
6 | #
|
---|
7 | # 04/23
|
---|
8 | # - more distro-nonspecific file list, thanks to find/grep
|
---|
9 | #
|
---|
10 | # 04/22/2003
|
---|
11 | # - first created
|
---|
12 | #
|
---|
13 | ###############################################################################
|
---|
14 |
|
---|
15 | Die() {
|
---|
16 | echo "$1" >> /dev/stderr
|
---|
17 | exit 1
|
---|
18 | }
|
---|
19 |
|
---|
20 |
|
---|
21 | AskMe() {
|
---|
22 | sz=""
|
---|
23 | while [ ! "$sz" ] ; do
|
---|
24 | echo -en "$1"
|
---|
25 | read sz
|
---|
26 | done
|
---|
27 | }
|
---|
28 |
|
---|
29 |
|
---|
30 | AddOrReplaceLine() {
|
---|
31 | local oldfile newfile sz_exclude sz_add
|
---|
32 | oldfile=$1.orig
|
---|
33 | mv -f $1 $oldfile
|
---|
34 | newfile=$1
|
---|
35 | sz_exclude="$2"
|
---|
36 | sz_add="$3"
|
---|
37 | > $newfile
|
---|
38 | grep -v "$sz_exclude.*" $oldfile >> $newfile
|
---|
39 | echo "$sz_add" >> $newfile
|
---|
40 | }
|
---|
41 |
|
---|
42 |
|
---|
43 | ListOfEth0Files() {
|
---|
44 | local i
|
---|
45 | for i in `find $1/etc | grep eth0` ; do
|
---|
46 | grep "IPADDR=" $i > /dev/null 2> /dev/null && echo $i
|
---|
47 | done
|
---|
48 | }
|
---|
49 |
|
---|
50 |
|
---|
51 | # ---------------------------------------------------------------------
|
---|
52 |
|
---|
53 |
|
---|
54 | [ "$#" -ne "2" ] && Die "post-nuke <base dir> <mondorestore res code>"
|
---|
55 | basedir=$1
|
---|
56 |
|
---|
57 | echo -en " Welcome to my post-nuke configuration script\n\n"
|
---|
58 | done=""
|
---|
59 | while [ ! "$done" ] ; do
|
---|
60 | AskMe " What would you like your IP address to be? "
|
---|
61 | ipaddr=$sz
|
---|
62 | AskMe " What would you like your netmask address to be? "
|
---|
63 | netmask=$sz
|
---|
64 | echo " IP address: $ipaddr Netmask: $netmask"
|
---|
65 | AskMe " Is that okay (y/n)? "
|
---|
66 | if [ "$sz" = "y" ] || [ "$sz" = "Y" ] ; then
|
---|
67 | done="yes"
|
---|
68 | fi
|
---|
69 | done
|
---|
70 |
|
---|
71 | ip_wildcard="[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*"
|
---|
72 | files_changed=0
|
---|
73 | for path in `ListOfEth0Files $basedir` ; do
|
---|
74 | filename=$path
|
---|
75 | [ ! -e "$filename" ] && continue
|
---|
76 | echo "Processing $filename"
|
---|
77 | AddOrReplaceLine $filename "IPADDR=$ip_wildcard" "IPADDR=$ipaddr"
|
---|
78 | AddOrReplaceLine $filename "NETMASK=$ip_wildard" "NETMASK=$netmask"
|
---|
79 | files_changed=$(($files_changed+1))
|
---|
80 | done
|
---|
81 | echo "Done. $files_changed files changed. Post-nuke script is exiting now."
|
---|
82 | echo -en "Press ENTER to continue."
|
---|
83 | read line
|
---|
84 | exit 0
|
---|
85 |
|
---|