#!/bin/sh # # # Sample post-nuke script by Hugo Rabson # # # 04/23 # - more distro-nonspecific file list, thanks to find/grep # # 04/22/2003 # - first created # ############################################################################### Die() { echo "$1" >> /dev/stderr exit 1 } AskMe() { sz="" while [ ! "$sz" ] ; do echo -en "$1" read sz done } AddOrReplaceLine() { local oldfile newfile sz_exclude sz_add oldfile=$1.orig mv -f $1 $oldfile newfile=$1 sz_exclude="$2" sz_add="$3" > $newfile grep -v "$sz_exclude.*" $oldfile >> $newfile echo "$sz_add" >> $newfile } ListOfEth0Files() { local i for i in `find $1/etc | grep eth0` ; do grep "IPADDR=" $i > /dev/null 2> /dev/null && echo $i done } # --------------------------------------------------------------------- [ "$#" -ne "2" ] && Die "post-nuke " basedir=$1 echo -en " Welcome to my post-nuke configuration script\n\n" done="" while [ ! "$done" ] ; do AskMe " What would you like your IP address to be? " ipaddr=$sz AskMe " What would you like your netmask address to be? " netmask=$sz echo " IP address: $ipaddr Netmask: $netmask" AskMe " Is that okay (y/n)? " if [ "$sz" = "y" ] || [ "$sz" = "Y" ] ; then done="yes" fi done ip_wildcard="[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*" files_changed=0 for path in `ListOfEth0Files $basedir` ; do filename=$path [ ! -e "$filename" ] && continue echo "Processing $filename" AddOrReplaceLine $filename "IPADDR=$ip_wildcard" "IPADDR=$ipaddr" AddOrReplaceLine $filename "NETMASK=$ip_wildard" "NETMASK=$netmask" files_changed=$(($files_changed+1)) done echo "Done. $files_changed files changed. Post-nuke script is exiting now." echo -en "Press ENTER to continue." read line exit 0