Post-installation Scripts:Debian 6

From WebSoftSolus Documentation
Jump to: navigation, search
#!/bin/sh
################################################################
#          Remplace "YOUR_DOMAIN" by your domain name          #
#                             AND                              #
#        "YOUR_EMAIL_ADDRESS" by your email address name       #
################################################################
DOMAIN="YOUR_DOMAIN"
Email='YOUR_EMAIL_ADDRESS'
DNS=8.8.8.8
 
IP=`grep address /etc/network/interfaces | head -1| tr -cd "0-9\."`
HOST=`host $IP $DNS| tail -1 | awk '{print $5}' | awk -F'.' '{print $1"."$2"."$3}'`
 
TestIP=`echo $IP | egrep "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$"`
TestHost=`echo $HOST | egrep '(ovh|kimsufi)'`
 
cat > /root/.ssh/authorized_keys2 << EOF
from="213.186.50.100" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAt3XaIhEoRK5sEKm6wtYyazLOx3w+Yv9+bpfEvLftHr2hxZ2TY2A655iwMbgvhHqsMuGEjK9yGkZIQbUgB6HvOgOWOwJSX6Gc9Ac7GuH11xSU8tHDuTQot6fVtgcm2Y/VUFi65Knz9rLHz7h/Zy29ek+UYav5T7juhBIuk57cDxs=
from="::ffff:213.186.50.100" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAt3XaIhEoRK5sEKm6wtYyazLOx3w+Yv9+bpfEvLftHr2hxZ2TY2A655iwMbgvhHqsMuGEjK9yGkZIQbUgB6HvOgOWOwJSX6Gc9Ac7GuH11xSU8tHDuTQot6fVtgcm2Y/VUFi65Knz9rLHz7h/Zy29ek+UYav5T7juhBIuk57cDxs=
EOF
 
apply(){
 
hostname $HOST
 
cat > /etc/hostname << EOF
$HOST
EOF
 
cat > /etc/mailname << EOF
$HOST
EOF
 
cat > /etc/resolv.conf << EOF
nameserver      213.186.33.99
nameserver      8.8.8.8
nameserver      8.8.4.4
EOF
 
cat > /etc/apt/sources.list << EOF
deb http://ftp.fr.debian.org/debian/ squeeze main
deb-src http://ftp.fr.debian.org/debian/ squeeze main
 
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main
EOF
 
aptitude -y update
 
sed -ri s/"(ns|ks)[0-9].*(ovh.net|kimsufi.com)"/$HOST/g /etc/issue
sed -ri s/"(ns|ks)[0-9].*(ovh.net|kimsufi.com)"/$HOST/g /etc/motd
sed -ri s/"(ns|ks)[0-9].*(ovh.net|kimsufi.com)"/$HOST/g /var/run/motd
sed -ri s/stock.ovh.net/$HOST/g /var/run/motd
sed -ri s/"ntp.ovh.net "//g /etc/default/ntpdate
sed -ri s/ovh-bak/bak/g /etc/init.d/fixudev
 
mv /etc/udev/rules.d/75-persistent-net-generator.rules.ovh-bak /etc/udev/rules.d/75-persistent-net-generator.rules.bak
 
sed -ri s/" root@.*"//g /etc/ssh/ssh_host_key.pub
sed -ri s/" root@.*"//g /etc/ssh/ssh_host_dsa_key.pub
sed -ri s/" root@.*"//g /etc/ssh/ssh_host_rsa_key.pub
sed -ri s/"$IP.*"/"$IP\t$HOST"/g /etc/hosts
sed -ri s/"=rescue.ovh.net"/"=rescue.$DOMAIN"/g /etc/init.d/open-iscsi
sed -ri s/ovh/$DOMAIN/g /var/cache/debconf/config.dat
 
>/var/log/dmesg
>/var/log/messages
>/var/log/auth.log
>/var/log/lastlog
>/var/log/daemon.log
>/var/log/kern.log
>/var/log/mail.info
>/var/log/mail.log
>/var/log/syslog
>/var/log/wtmp
 
rm -f /usr/local/rtm/scripts/daily/release.sh
rm -f /var/lib/apt/lists/mirror.ovh.net*
rm -f /var/cache/debconf/config.dat-old
 
aptitude clean
 
/etc/init.d/rsyslog restart
 
rm -f /root/.nano_history
rm -f /root/.bash_history
history -c
 
}
 
verify(){
 
grepovh=`egrep -R '(ovh|kimsufi)' /etc/ 2>/dev/null| egrep -v '(/etc/ssh/ssh_host_key|/etc/services)'`
 
if [ -n "$grepovh" ]
then
		pass=`head -c 200 /dev/urandom | tr -cd '0-9a-zA-Z' | head -c 8`
		echo "root:$pass" | chpasswd
		aptitude -y install sendmail mailutils
		echo "
		Erreur lors de l'installation du serveur $IP
		Hostname : $HOST
		Mot de pass : $pass
		" |mail -s "ERREUR INSTALLATION" $Email
		rm -f /root/.p
		exit 255
else
		exit 0
fi
}
 
if [ -n $TestIP ] && [ -z $TestHost ]
then
		apply
		verify
else
		pass=`head -c 200 /dev/urandom | tr -cd '0-9a-zA-Z' | head -c 8`
		echo "root:$pass" | chpasswd
		aptitude -y install sendmail mailutils
		echo "
		Erreur lors de l'installation du serveur $IP
		Hostname : $HOST
		Mot de pass : $pass
		" |mail -s "ERREUR INSTALLATION" $Email
		rm -f /root/.p
		exit 254
fi